СКД: Программно созданный отбор на форме #555679


#0 by CerbeRUS
Приветствую! Делаю, отчет на СКД, в котором текст запроса будет меняться динамически. Следовательно, будут меняться и выбираемые поля и отборы по ним. Для того, чтобы динамически изменялся и отбор, создал реквизит МойКомпоновщикНастроек и вынес на форму МойКомпоновщикНастроек.Настройки.Отбор. Теперь выполняю следующий код: В следствие которого в мой реквизит должны перенестить все настройки из начальной (а потом и изменяемой) компоновки. Однако, когда я на форме нажимаю кнопку "Добавить новый элемент отбора", в появившемся списке нет ни одного доступного поля. Подскажите, пожалуйста, как заполнить этот список полями из запроса СКД?
#1 by Паучог
А где сам запрос? Или он в макете СКД?
#2 by CerbeRUS
Здесь я написал пример без изменения текста запроса. Так что в данном случае должны быть доступны поля, которые есть в самом макете СКД.
#3 by CerbeRUS
В общем случае, третьей строчкой должно идти:
#4 by Паучог
А не нужно ли МойКомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию) ?
#5 by CerbeRUS
Это после инициализации? Сейчас попробую...
#6 by CerbeRUS
Нет, не помогает. :-(
#7 by Паучог
Если изначально в макете СКД нет запроса, то -
#8 by CerbeRUS
Нет, в макете "ОсновнаяСхемаКомпоновкиДанных" запрос есть. А зачем добавлять источник данных?
#9 by CerbeRUS
Проблема разрешилась! Все дело было в парамтре создания ИсточникаДоступныхНастроекКомпоновкиДанных. В толстом клиенте сработал бы и этот код, но в тонком нужно создавть только на основе URL. Поэтому, последняя строка должна выглядить след. образом:
#10 by CerbeRUS
Хотя все равно работает неправильно. Нажимаю плюсик напротив полей ссылочного типа, папки параметров, а ничего не раскрывается. Из-за чего это может быть, никто не знает?
#11 by CerbeRUS
Если кому интересно, нашел решение и этой проблемы. :-) Последняя строка стала еще длинее. И опять дело в параметрах ИсточникаДоступныхНастроекКомпоновкиДанных.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С