отбор по таблице ДанныеФормыКоллекция (табличная часть) на форме обработки средствами СКД программно

1. user785225 17 19.08.22 11:57 Сейчас в теме
👋 хотел бы выводить отбор на форме внешней обработки по ее табличной части (ДанныеФормыКоллекция; см. прикрепленный рис. ОтборДС). Состав колонок заранее не известен. Типы колонок не составные, присутствуют как простые типы (цены), так и ссылочные (номенклатура)

т.к. колонки таблицы не фиксированы (формируются программно), крайне удобно сделать и отбор программно. Вижу 3 варианта:

1) разместить ДинамическийСписок с параметром = ТЗ (ДанныеФормыКоллекция.Выгрузить(), взял отсюда) - с этим проблема, значения настроек невозможно указать на равенство, напр. нельзя установить Цена=79 (см. прикреп. рис.). В списке (79;80) - пожалуйста, но приходится выбирать тип Число
- как типизировать поле Значение отбора при исп. ДинамическийСписок по &ТЗ?

2) сформировать КомпоновщикНастроекКомпоновкиДанных программно - реализации такого программно не нашел в сети вовсе готов увеличить вознаграждение sm за готовую реализацию. Есть только инициализация Компоновщика по вручную созданному макету СКД
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПоместитьВоВременноеХранилище(ПолучитьМакет("Макет")))) 
, но не подходит т.к. колонки таблицы на форме не постоянные

3) формировать элементы отбора, и при их изменении что-нибудь делать с таблицей. как делать понятно но это not true/ne pas comme il faut
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
5. SlavaKron 19.08.22 15:26 Сейчас в теме +5 $m
Тут: http://forum.infostart.ru/forum9/topic262485/message2655403/#message2655403 неплохое решение. Суть: сделать отбор в произвольной таблице формы (не суть ТЗ или ТЧ).
но не подходит т.к. колонки таблицы на форме не постоянные
Так инициализируйте каждый раз, когда меняется структура таблицы.
user785225; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3039 19.08.22 12:04 Сейчас в теме
(1)
как типизировать поле Значение отбора при исп. ДинамическийСписок по &ТЗ?
Ну у колонки есть свойство Тип, в котором описание типов. У элемента формы есть свойство ОграничениеТипа (или как-то так) - в него это описание типов засунуть.

Но в общем и целом не совсем ясно, зачем это делать. Как известная картинка про кусок хлеба и троллейбус...
3. user785225 17 19.08.22 13:46 Сейчас в теме
(2) они, к сожалению, не изменяются (ни в доступных полях, ни в фиксированных, нигде), хотя в СП кое-где написано И чтение, И запись. Забыл отметить этот момент.

зачем
- Пользователь хочет отбирать товары по вновь загруженным ценам, и только такие обрабатывать дальше. Мне кажется расхожая задача
4. ishelper 19.08.22 14:22 Сейчас в теме
(1)
2) сформировать КомпоновщикНастроекКомпоновкиДанных программно - реализации такого программно не нашел в сети
Ничего не понимаю в СКД, но немножко понимаю в поиске. Например, вот эти статьи - смотрели? Ничего не подходит?
https://infostart.ru/1c/articles/1185890/
https://infostart.ru/1c/articles/1339226/
https://infostart.ru/1c/articles/941556/
user785225; +1 Ответить
6. user785225 17 23.08.22 10:40 Сейчас в теме
(4) не подходит, т.к. везде используется уже готовый макет СКД, то есть надо заранее знать поля для отбора. А они неизвестны

разместить ДинамическийСписок с параметром = ТЗ (ДанныеФормыКоллекция.Выгрузить(), взял отсюда) - с этим проблема, значения настроек невозможно указать на равенство, напр. нельзя установить Цена=79 (см. прикреп. рис.). В списке (79;80) - пожалуйста, но приходится выбирать тип Число

- предложил пользователю такой вариант, жду обратной связи )
5. SlavaKron 19.08.22 15:26 Сейчас в теме +5 $m
Тут: http://forum.infostart.ru/forum9/topic262485/message2655403/#message2655403 неплохое решение. Суть: сделать отбор в произвольной таблице формы (не суть ТЗ или ТЧ).
но не подходит т.к. колонки таблицы на форме не постоянные
Так инициализируйте каждый раз, когда меняется структура таблицы.
user785225; +1 Ответить
8. user785225 17 23.08.22 12:58 Сейчас в теме
(5) отдал бы еще 5 см за программное формирование элемента (ТаблицаФормы) КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор
7. Dr.HiHi 3 23.08.22 11:41 Сейчас в теме
при каких-то действиях (открытие, изменения на форме) нужно сделать перестроения источника скд с указанием типов значений для полей
на форме перестроить все колонки
в итоге выйдет требуемый результат
p.s. теоретически все просто, если нету нюансов на счет "выводить определенный колонки при определенном действии"
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот