Имя: Пароль:
1C
1С v8
отфильтрованное табличное поле вывести в таблицу значений
0 nVoRoN
 
18.06.12
11:02
День добрый!

Подскажите пожалуйста, как можно вывести в таблицу значений отфильтрованные значения табличного поля?
1 al_zzz
 
18.06.12
11:05
А у ТП данные - ТаблицаЗначений?
2 Kom-off
 
18.06.12
11:14
(0) Использовать построитель отчета, у которого в качестве источника данных установить источник данных табличного поля, и отбор прописать такой, какой установлен у табличного поля. Результат работы построителя вывести в таблицу значений.
3 palpetrovich
 
18.06.12
11:16
как вариант, тупо вывести все и уже у ТЗ отобрать строки в соответствии с отбором :)
4 nVoRoN
 
18.06.12
12:16
2al_zzz
у ТП данные ТабличнаяЧасть

2palpetrovich
а отбор на ТаблицуЗначений накладывать по каждому условию в отдельности, или есть метод какой-то куда параметром можно передать отбор? (пытался найти уже но не нашел)

2Kom-off
похоже так и придется делать

ну ужели проще нет способа, может есть свойство какое-то у отфильтрованных строк или метод которым можно их сразу выгрузить?
5 Kom-off
 
18.06.12
12:22
(4) Это простой способ:
Построитель = Новый ПостроительЗапроса();
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ЭтотОбъект.<ИмяТабличнойЧасти>);

Для Каждого ЭлементОтбора Из ЭтаФорма.ЭлементыФормы.<ИмяТабличнойЧасти>.ОтборСтрок Цикл
   Попытка
       ТекОтбор = Построитель.Отбор.Добавить(ЭлементОтбора.Имя, ЭлементОтбора.Имя);
       ТекОтбор.ВидСравнения = ЭлементОтбора.ВидСравнения;
       ТекОтбор.Значение = ЭлементОтбора.Значение;
       ТекОтбор.ЗначениеПо = ЭлементОтбора.ЗначениеПо;
       ТекОтбор.ЗначениеС = ЭлементОтбора.ЗначениеС;
       ТекОтбор.Использование = ЭлементОтбора.Использование;
       ТекОтбор.Представление = ЭлементОтбора.Представление;
   Исключение
   КонецПопытки;
КонецЦикла;

Построитель.Выполнить();

Результат = Построитель.Результат.Выгрузить();

Примечание: элемент формы табличное поле носит такое же имя как и табличная часть.
6 nVoRoN
 
18.06.12
13:04
Большое спасибо, все получилось!