отбор по таблице ДанныеФормыКоллекция (табличная часть) на форме обработки средствами СКД программно
👋 хотел бы выводить отбор на форме внешней обработки по ее табличной части (ДанныеФормыКоллекция; см. прикрепленный рис. ОтборДС). Состав колонок заранее не известен. Типы колонок не составные, присутствуют как простые типы (цены), так и ссылочные (номенклатура)
т.к. колонки таблицы не фиксированы (формируются программно), крайне удобно сделать и отбор программно. Вижу 3 варианта:
1) разместить ДинамическийСписок с параметром = ТЗ (ДанныеФормыКоллекция.Выгрузить(), взял ) - с этим проблема, значения настроек невозможно указать на равенство, напр. нельзя установить Цена=79 (см. прикреп. рис.). В списке (79;80) - пожалуйста, но приходится выбирать тип Число
- как типизировать поле Значение отбора при исп. ДинамическийСписок по &ТЗ?
2) сформировать КомпоновщикНастроекКомпоновкиДанных программно - реализации такого программно не нашел в сети вовсе готов увеличить вознаграждение sm за готовую реализацию. Есть только инициализация Компоновщика по вручную созданному макету СКД
, но не подходит т.к. колонки таблицы на форме не постоянные
3) формировать элементы отбора, и при их изменении что-нибудь делать с таблицей. как делать понятно но это not true/ne pas comme il faut
т.к. колонки таблицы не фиксированы (формируются программно), крайне удобно сделать и отбор программно. Вижу 3 варианта:
1) разместить ДинамическийСписок с параметром = ТЗ (ДанныеФормыКоллекция.Выгрузить(), взял ) - с этим проблема, значения настроек невозможно указать на равенство, напр. нельзя установить Цена=79 (см. прикреп. рис.). В списке (79;80) - пожалуйста, но приходится выбирать тип Число
- как типизировать поле Значение отбора при исп. ДинамическийСписок по &ТЗ?
2) сформировать КомпоновщикНастроекКомпоновкиДанных программно - реализации такого программно не нашел в сети вовсе готов увеличить вознаграждение sm за готовую реализацию. Есть только инициализация Компоновщика по вручную созданному макету СКД
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПоместитьВоВременноеХранилище(ПолучитьМакет("Макет")))) 3) формировать элементы отбора, и при их изменении что-нибудь делать с таблицей. как делать понятно но это not true/ne pas comme il faut
Прикрепленные файлы:
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Но в общем и целом не совсем ясно, зачем это делать. Как известная ...
как типизировать поле Значение отбора при исп. ДинамическийСписок по &ТЗ?
Ну у колонки есть свойство Тип, в котором описание типов. У элемента формы есть свойство ОграничениеТипа (или как-то так) - в него это описание типов засунуть.
Но в общем и целом не совсем ясно, зачем это делать. Как известная ...
(2) они, к сожалению, не изменяются (ни в доступных полях, ни в фиксированных, нигде), хотя в СП кое-где написано И чтение, И запись. Забыл отметить этот момент.
зачем
- Пользователь хочет отбирать товары по вновь загруженным ценам, и только такие обрабатывать дальше. Мне кажется расхожая задача
зачем
- Пользователь хочет отбирать товары по вновь загруженным ценам, и только такие обрабатывать дальше. Мне кажется расхожая задача
(1)
2) сформировать КомпоновщикНастроекКомпоновкиДанных программно - реализации такого программно не нашел в сети
Ничего не понимаю в СКД, но немножко понимаю в поиске. Например, вот эти статьи - смотрели? Ничего не подходит?
(4) не подходит, т.к. везде используется уже готовый макет СКД, то есть надо заранее знать поля для отбора. А они неизвестны
- предложил пользователю такой вариант, жду обратной связи )
разместить ДинамическийСписок с параметром = ТЗ (ДанныеФормыКоллекция.Выгрузить(), взял отсюда) - с этим проблема, значения настроек невозможно указать на равенство, напр. нельзя установить Цена=79 (см. прикреп. рис.). В списке (79;80) - пожалуйста, но приходится выбирать тип Число
- предложил пользователю такой вариант, жду обратной связи )
Тут: неплохое решение. Суть: сделать отбор в произвольной таблице формы (не суть ТЗ или ТЧ).
но не подходит т.к. колонки таблицы на форме не постоянные
Так инициализируйте каждый раз, когда меняется структура таблицы.
при каких-то действиях (открытие, изменения на форме) нужно сделать перестроения источника скд с указанием типов значений для полей
на форме перестроить все колонки
в итоге выйдет требуемый результат
p.s. теоретически все просто, если нету нюансов на счет "выводить определенный колонки при определенном действии"
на форме перестроить все колонки
в итоге выйдет требуемый результат
p.s. теоретически все просто, если нету нюансов на счет "выводить определенный колонки при определенном действии"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
