Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ИндексированнаяТаблица, получить выборку только по фильтру? (число прочтений - 3244 )
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
ИндексированнаяТаблица, получить выборку только по фильтру?
22. Октября 2010 :: 09:11
Печать  
Использую метод УстановитьФильтр, потом цикл:
Код
Выбрать все
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл 


Но есть одна проблема, цикл продолжает получать строки даже когда не выполняется условие по фильтру. Т.е. Устанавливаю фильтр, происходит позиционирование на предыдущую запись перед необходимой (все как в документации), потом в цикле идет обход строк по включенному фильтру, так вот если цикл проходит все необходимые значения, то цикл не прекращается, а продолжает работать до последней записи. Можно ли как то сделать чтобы когда условие по фильтру не выполняется - цикл прекращался (т.е. не делать лишних проверок в теле цикла)?

Вот приблизительно как выглядит код:
Код
Выбрать все
		ИсточникИнд = СоздатьОбъект("ИндексированнаяТаблица");
		ИсточникИнд.Загрузить(Источник);
		азмер2");
		СписокФильтра.УдалитьВсе();
		СписокФильтра.ДобавитьЗначение(Счет);
		СписокФильтра.ДобавитьЗначение(Заказ);
		СписокФильтра.ДобавитьЗначение(ТМЦ);
		СписокФильтра.ДобавитьЗначение(Размер1);
		СписокФильтра.ДобавитьЗначение(Размер2);
		ИсточникИнд.УстановитьФильтр(СписокФильтра,СписокФильтра,"СчетЗаказТМЦ");
		ИсточникИнд.ВыбратьСтроки();
		Пока ИсточникИнд.ПолучитьСтроку() = 1 Цикл
			// Тело цикла
		КонецЦикла;
 

  
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #1 - 22. Октября 2010 :: 09:21
Печать  
ВыбратьСтроки("СчетЗаказТМЦ");
Пока ПолучитьСтроку("СчетЗаказТМЦ") = 1 Цикл
  
Наверх
wwwICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #2 - 22. Октября 2010 :: 09:31
Печать  
Anatol писал(а) 22. Октября 2010 :: 09:21:
ВыбратьСтроки("СчетЗаказТМЦ");
Пока ПолучитьСтроку("СчетЗаказТМЦ") = 1 Цикл

Спасибо, так и подозревал, но думал что может индекс по умолчанию этот тот который задан в качестве фильтра, раз фильтр один, а оказалось по другому.
  
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #3 - 22. Октября 2010 :: 09:46
Печать  
так ты фильтр устанавливаешь по индексу, причем не по основному.
  
Наверх
wwwICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #4 - 22. Октября 2010 :: 10:40
Печать  
(0) для начала, в фильтр (список свой) пихаешь не в том порядке, в каком порядке индекс задал..

а во-вторых, значения фильтра не могут иметь пропусков, у тебя в индексе 6 значений, а ты 5 задаешь, еще и порядок не соблюдаешь
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #5 - 22. Октября 2010 :: 11:08
Печать  
Eprst писал(а) 22. Октября 2010 :: 10:40:
(0) для начала, в фильтр (список свой) пихаешь не в том порядке, в каком порядке индекс задал..

а во-вторых, значения фильтра не могут иметь пропусков, у тебя в индексе 6 значений, а ты 5 задаешь, еще и порядок не соблюдаешь

Та нее, у него всё нормально - 5 индексов и 5 значений в СЗ. Да и порядок вроде соблюдает
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #6 - 22. Октября 2010 :: 11:18
Печать  
Спасибо помогло. Единственный вопрос, сортировка при установке фильтра и выборке по индексу соблюдается как в оригинальной таблице, или происходит сортирование по значением фильтра?
  
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #7 - 22. Октября 2010 :: 12:34
Печать  
Индекс и есть сортировка. Т.е. если ты в индексе поставил "*", то и сортировка будет по внутреннему представлению
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ИндексированнаяТаблица, получить выборку только по фильтру?
Ответ #8 - 22. Октября 2010 :: 13:09
Печать  
А ну да, забываю , что счет может быть документом..
Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать