Имя: Пароль:
1C
1С v8
Отбор по строкам табличной части
0 slafor
 
02.08.21
15:08
Есть вот такой документ: https://yadi.sk/i/kDghJHln2eR0MA .
Во второй таблице - табличная часть "Товары" документа, на котором пользователь позиционировался в левой таблице. Это форма списка.
Хотелось бы сделать так, чтобы при нажатии на кнопку "Отбор по заказу" в правой части показывались только те позиции ТЧ, у которых поле "ВЗаказ" больше 0. Пока нашел только "обратную" возможность - показывать только "нулевые" позиции )
ЭтаФорма.Элементы.Состав.ОтборСтрок = Новый ФиксированнаяСтруктура("ВЗаказ", 0);
1 butterbean
 
02.08.21
15:16
если там ТЧ, то погугли про ОтборСтрок
2 fisher
 
02.08.21
16:03
(0) Придется добавлять доп-реквизит ФОРМЫ в ТЧ и заполнять ее признаком, который можно будет отфильтровать на равенство.
3 slafor
 
02.08.21
16:51
(1) Это не совсем табличная часть, это просто таблица, у которой стоит Путь к данным Элементы.Список.ТекущиеДанные.Товары . https://yadi.sk/i/4EJBVpjiQZZIfg

И конструкция
ЭтаФорма.Элементы.Состав.ОтборСтрок.ВЗаказ.Использование = Истина;    ЭтаФорма.Элементы.Состав.ОтборСтрок.ВЗаказ.ВидСравнения = ВидСравнения.Больше;
ЭтаФорма.Элементы.Состав.ОтборСтрок.ВЗаказ.Значение = 0;
не работает, пишет ошибку
"Значение не является значением объектного типа (ВЗаказ)".

(2) Это как, где можно "подсмотреть"? )
4 fisher
 
02.08.21
16:55
(3) Да просто добавь реквизит "ЕстьЗаказ" булево и заполняй его параллельно с "ВЗаказ". По нему и отфильтруешь.
5 fisher
 
02.08.21
16:57
А, стоп. Элементы.Список.ТекущиеДанные.Товары...
Я так даже не пробовал никогда :)
6 fisher
 
02.08.21
17:02
Тогда просто включаешь в свойствах динамического списка "Произвольный запрос" и в получении вложенной таблицы товаров добавляешь вычисляемое поле ВЗаказ > 0 КАК ЕстьЗаказ