1с скд задать параметр программно

Привет!
При создании отчёта на компоновке иногда приходится в запросе использовать параметры. Например какую нибудь константу.
В остальном — стандартный функционал СКД устраивает.
Устанавливать каждый раз перед выполнением в настройках — неудобно и ненадёжно.
Создавать ради этого форму — избыточно.

Оптимальный вариант под катом.

Показать скрытое содержание

В модуле объекта (отчета) есть событие ПриКомпоновкеРезультата. То, что нужно:

Например у отчет есть следующие параметры:

Программно их задать можно следующим образом:
Код 1C v 8.х

Есть параметр, предопределенное при открытии отчета каждый раз. Как его правильно указать в СКД?
Можно делать так:
Код 1C v 8.х
или
Код 1C v 8.х

Для УП
Код 1C v 8.2 УП

Похожие FAQ

Еще в этой же категории

Ключевые слова и Изображения

Слова упорядочены по частоте использования в тексте

Изображения

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, но решения здесь будут точно такие же, как если бы мы это делали через классический конфигуратор:

Если мы хотим этот параметр устанавливать программно, то важно убедиться что он доступен, иначе мы получим ошибку что параметр не найден (флаг стоять не должен):

И так что бы программно установить параметру СКД определенное значение, мы можем использовать процедуру модуля отчета ‘ПриКомпоновкеРезультата’ и компоновщиком настроек:

Оцените статью
Добавить комментарий