Привет! При создании отчёта на компоновке иногда приходится в запросе использовать параметры. Например какую нибудь константу. В остальном – стандартный функционал СКД устраивает. Устанавливать каждый раз перед выполнением в настройках – неудобно и ненадёжно. Создавать ради этого форму – избыточно.
Оптимальный вариант под катом.
Показать скрытое содержание
В модуле объекта (отчета) есть событие ПриКомпоновкеРезультата. То, что нужно:
Например у отчет есть следующие параметры:
Программно их задать можно следующим образом: Код 1C v 8.х
Есть параметр, предопределенное при открытии отчета каждый раз. Как его правильно указать в СКД? Можно делать так: Код 1C v 8.х или Код 1C v 8.х
Слова упорядочены по частоте использования в тексте
Изображения
madmonk
27.05.2016 12:48
Комментарий: 3
Спасибо за СтандартнаяОбработка = Ложь; для УП! Целый час бился, не мог понять почему настройки слетают.
prodines
28.01.2014 14:22
Комментарий: 2
Это ещё не всё. Если параметр – массив, то в СКД его надо вводить списком значений, а не массивом:
При этом нужно на вкладке “Параметры” для параметра “СписокВидовНачисления” установить флажок “Доступен список значений” – иначе список не присвоится параметру. Если же нужно не программно ввести параметр в виде массива, то надо на вкладке “Настройка” – “Параметры” включить флажок “Отображать недоступные параметры”, появится наш параметр-массив, и его можно будет вручную там заполнить списком значений.
Efiop
04.04.2011 14:45
Комментарий: 1
Все верно, только я предпочитаю искать по названию (лучше код потом читается, особенно если отчет сложный и много параметров:
Очень часто встречаю что программистов заводит в тупик такой момент как программная установка параметров системы компоновки данных (далее СКД). Сделать это можно через ‘КомпоновщикНастроек’ нашей СКД.
Допустим у нас есть отчет ‘ЗадачиКлиента’ и в СКД в наборе данных есть параметр ‘&Владелец’. Сразу уточню что это отчет реализован через 1C Enterprise Development Tools, но решения здесь будут точно такие же, как если бы мы это делали через классический конфигуратор:
Если мы хотим этот параметр устанавливать программно, то важно убедиться что он доступен, иначе мы получим ошибку что параметр не найден (флаг стоять не должен):
И так что бы программно установить параметру СКД определенное значение, мы можем использовать процедуру модуля отчета ‘ПриКомпоновкеРезультата’ и компоновщиком настроек: