Имя: Пароль:
1C
 
Как программно установить отбор в табличной части
0 unreg11
 
09.02.11
09:31
Есть обработка с табличной частью, есть ли возможность программно установить фильтр?
1 mikecool
 
09.02.11
09:33
ТЧ.Отбор.Колонка.Использование = Истина
ТЧ.Отбор.Колонка.Значение = ....
или отборстрок
+ вариант сравнения мб
2 Mitriy
 
09.02.11
09:34
ОтборСтрок
3 Aprobator
 
09.02.11
09:37
(1) шутник однако.
(0) что выводится в табличную часть?
4 Композитор
 
09.02.11
09:39
Пример:

Процедура ТПДетальнаяКомпоновкаУстановитьОтбор()
   КлючСвязи = 0;
   ТекущаяСтрока = Элементы.ТПОбщаяКомпоновка.ТекущаяСтрока;
   Если ТекущаяСтрока <> Неопределено Тогда
       Данные = Элементы.ТПОбщаяКомпоновка.ТекущиеДанные;
       КлючСвязи = Данные.КлючСвязиЭлементовОбщейКомпоновки;
   КонецЕсли;        
   Отбор = Новый Структура;
   Отбор.Вставить("КлючСвязиЭлементовОбщейКомпоновки", КлючСвязи);
   Элементы.ТПДетальнаяКомпоновка.ОтборСтрок = Новый ФиксированнаяСтруктура(Отбор);
КонецПроцедуры


КлючСвязиЭлементовОбщейКомпоновки - это ключевое поле таблицы.
5 unreg11
 
09.02.11
09:40
в ТЧ выводится таблица значений,в которой содержится номенклатура, количество, склад и другое. и вот например по складу надо сделать фильтр
6 Aprobator
 
09.02.11
09:42
(4) это для 8.2 что ли?
7 Aprobator
 
09.02.11
09:44
(5) тады слушай (2).
небольшая наводка:

ОтборДляОпытов = ЭлементыФормы.ИмяТабличногоПоляКудаВыводитсяТЧ.ОтборСтрок;
......

дальше в отладчике все сам увидишь.
8 Aprobator
 
09.02.11
09:46
+(6) а да - теперь разглядел - точно для 8.2 )
9 Mitriy
 
09.02.11
09:46
(4) в 8.2 для обычных таблиц вполне достаточно:

Элементы.ТабПоле.ОтборСтрок = Новый ФиксированнаяСтруктура("ИмяКолонки", НужноеЗначение);
10 unreg11
 
09.02.11
10:28
(7) Спасибо
11 Композитор
 
09.02.11
11:26
(9) видимо, у меня необычная :)))
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший