Имя: Пароль:
1C
1C 7.7
v7: УстановитьФильтр() в ИТЗ
0 droff
 
18.12.12
17:12
Коллеги, приветствую и прошу помощи.
Не могу победить метод УстановитьФильтр() в Индексированной таблице. Результат выполнения метода указывает на то, что фильтр не применился вообще.

           хТЗ = СоздатьОбъект("ИндексированнаяТаблица");
           хТЗ.НоваяКолонка("Фирма");
           хТЗ.НоваяКолонка("Отправитель");
           хТЗ.НоваяКолонка("Перемещение");
           хТЗ.НоваяКолонка("Номенклатура");
           хТЗ.НоваяКолонка("Количество");
           хТЗ.НоваяКолонка("Получатель");
           хТЗ.НоваяКолонка("Кладовщик");
           
           Для х = 0 По ТП.ВыделенныеСтроки.Количество() - 1 Цикл
               хТЗ.НоваяСтрока();
               хТЗ.Фирма = ТЗ.ПолучитьЗначение(ТП.ВыделенныеСтроки.Получить(х), "Фирма");
               хТЗ.Отправитель = ТЗ.ПолучитьЗначение(ТП.ВыделенныеСтроки.Получить(х), "Отправитель");
               хТЗ.Перемещение = ТЗ.ПолучитьЗначение(ТП.ВыделенныеСтроки.Получить(х), "Перемещение");
               хТЗ.Номенклатура = ТЗ.ПолучитьЗначение(ТП.ВыделенныеСтроки.Получить(х), "Номенклатура");
               хТЗ.Количество = ТЗ.ПолучитьЗначение(ТП.ВыделенныеСтроки.Получить(х), "Количество");
               хТЗ.Получатель = ТЗ.ПолучитьЗначение(ТП.ВыделенныеСтроки.Получить(х), "Получатель");
               хТЗ.Кладовщик = ТЗ.ПолучитьЗначение(ТП.ВыделенныеСтроки.Получить(х), "Кладовщик");                
           КонецЦикла;
           
           хТЗ.ДобавитьИндекс("иФирма", "*Фирма");
           
           хТЗ2 = хТЗ.Копия(1, 1);
           хТЗ2.Свернуть("Фирма", "Количество");
           
           хТЗ2.ВыбратьСтроки();
           Пока хТЗ2.ПолучитьСтроку() = 1 Цикл
               Сообщить("*" + хТЗ2.Фирма);
               хТЗ.УстановитьФильтр(хТЗ2.Фирма, хТЗ2.Фирма, "иФирма");
               хТЗ.ВыбратьСтроки();
               Пока хТЗ.ПолучитьСтроку() = 1 Цикл
                   Сообщить(хТЗ.Фирма);
               КонецЦикла;
               Сообщить("--------------");
           КонецЦикла;

В результате показывает два одинаковых списка. Что я делаю не так?
1 Ёпрст
 
18.12.12
17:13
(0)
хТЗ.ВыбратьСтроки("иФирма");
               Пока хТЗ.ПолучитьСтроку("иФирма") = 1 Цикл
2 droff
 
18.12.12
17:16
Спасибо большое.
3 Mikeware
 
18.12.12
17:16
(2) читай внимательней документацию.
Ошибка? Это не ошибка, это системная функция.