Вы можете спросить зачем?
Ответ простой – у вас есть готовая СКД и нужно организовать заполнение ее параметров через форму внешнего отчета, например, перед формированием основного отчета, получить несколько таблиц и списков значений, используемых в качестве параметров СКД, чтобы ускорить формирование отчета.
У отчета (внешний/встроенный) есть объект КомпоновщикНастроек. С ним и буду работать. Здесь я предполагаю, что разработчик все параметры СКД продублировал, сохранив типизацию, в метаданные отчета, реквизиты шапки.
Процесс простой – по имени параметра СКД в объекте-отчете нахожу реквизит шапки и устанавливаю его значение в параметр СКД.
Таблицы значений мне также нравится сохранять в реквизитах шапки отчета, чтобы не заполнять структуру полей табличной части через конфигуратор.
Ниже образец кода, который реализует описанную выше логику:
Для Каждого ПараметрСКД Из КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы Цикл
ПараметрСКД.Значение = ЭтотОбъект[Строка(ПараметрСКД.Параметр)];
//Также можно принудительно включить использование заполненных параметров СКД
ПараметрСКД.Использование = Истина;
КонецЦикла;
Этот код я предлагаю запускать в модуле объекта-отчета в предопределенной процедуре ОбработкаПроверкиЗаполнения(). Она запускается как раз перед формированием отчета.
+ There are no comments
Add yours