В СКД имеется отбор для группировки, вывожу его на табличное поле в форме.
Все добавляется, но проблема в том, что при отображении элементов отбора на форме, каждый элемент задваивается, показывается в полном и обычном виде. На скриншоте видно, что я имею в виду
Суть: после создания колонок, перебираю их и оставляю видимыми только нужные. Перед этим пересмотрел список колонок и определил закономерность, что нужно. Это колонки имеющие вхождение "Краткого", но при этом не должно быть вхождения "Локального".
Но как мне кажется - это костыль. Может есть более "правильное" решение?
(6) E_Migachev,
Он сам не выводится. Вывести в ТП можно только отбор для всего отчета.
А у меня есть еще и отбор для группировки, который методами интерфейса вывести нельзя.
То есть в реквизите Данные для ТП можно максимум указать КомпоновщикНастроек.Настройки.Отбор
А мне же нужно, чтобы отображался отбор именно для группировки, а это КомпоновщикНастроек.Настройки.Структура[0].Колонки[0].Отбор;
Поэтому приходится делать вручную. Иначе способа нету.
Выложить смогу уже с понедельника, как на работу доберусь.
Но воспроизвести оч просто.
Создай выборку, к примеру, по справочнику. Добавь структуру отчета "таблица" и там группировку по строкам какаю-нибудь. И для этой группировки создай отбор.
То есть выбираешь группировку, внизу вместо "отчет" выбираешь название той группировки, а потом "Отбор", ну и создаешь отбор.
А теперь попробуй не используя программного кода вывести этот отбор на форму - никак не выйдет. Максимум выведешь отбор для всего отчета, но он пустой.
Это не совсем то. В твоем случае получается, что Отбор группировки становится общим отбором по отчету. А в этом случае будут проблемы с работой отчета.
Дело в том, что в моем случае нужно, чтобы отбор сработал именно на группировку, а не на весь отчет. Поэтому необходимо ТЧ соединить именно с отбором группировки. Общего отбора я даже не использую..
Я твою обработку чуть подправил, внес свои куски кода посмотри.
ОбновитьОтборы() - процедура которая присоединяет к ТЧ именно отбор группировки.
УстановитьВидимостьКолонокОтбора (Колонки) - используется для настройки внешнего вида ТЧ. Попробуй закоментить вызов этой процедуры и увидишь то, с чего начинался мой вопрос: куча лишних полей в ТЧ.
Эти "лишние" поля я победил используя эту процедуру.
ПослеВосстановленияЗначений() - сделано потому, что после восстановления сохраненных значений, отборы группировки работают, но не отображаются на форме. Приходится обновлять ТЧ таким образом.