Как в 1С программно заполнить параметры схемы компоновки данных?

Вы можете спросить зачем?

Ответ простой – у вас есть готовая СКД и нужно организовать заполнение ее параметров через форму внешнего отчета, например, перед формированием основного отчета, получить несколько таблиц и списков значений, используемых в качестве параметров СКД, чтобы ускорить формирование отчета.

У отчета (внешний/встроенный) есть объект КомпоновщикНастроек. С ним и буду работать. Здесь я предполагаю, что разработчик все параметры СКД продублировал, сохранив типизацию, в метаданные отчета, реквизиты шапки.

Процесс простой – по имени параметра СКД в объекте-отчете нахожу реквизит шапки и устанавливаю его значение в параметр СКД.

Таблицы значений мне также нравится сохранять в реквизитах шапки отчета, чтобы не заполнять структуру полей табличной части через конфигуратор.

Ниже образец кода, который реализует описанную выше логику:

Для Каждого ПараметрСКД Из КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы Цикл
    ПараметрСКД.Значение = ЭтотОбъект[Строка(ПараметрСКД.Параметр)];
    //Также можно принудительно включить использование заполненных параметров СКД
    ПараметрСКД.Использование = Истина;
КонецЦикла;

Этот код я предлагаю запускать в модуле объекта-отчета в предопределенной процедуре ОбработкаПроверкиЗаполнения(). Она запускается как раз перед формированием отчета.

+ Нет комментариев

Добавить свой