1С СКД – обязательные/необязательные параметры

СКД (Система Компоновки Данных) – это такая мощная хреновина в 1С с кучей непонятных кнопочек, используемая для интерактивного создания отчетов.

В том случае, если нужна фильтрация записей в запросе по нужным пользователю полям, необходимо использование параметров. Есть пара интересных галочек, отвечающих за обязательное/опциональное использование этих самых параметров.


Колонка Использование=Авто/Всегда

Значение Авто – добавится галочка использованиея параметра. Но при этом, если убрать галочку и попытаться сформировать, то произойдет “Ошибка исполнения отчета”.

Чтобы избавиться от ошибки, в коде запроса надо взять в фигурные скобки условие отбора, в котором этот параметр используется (источник). Тогда, при незаполненном параметре условие с ним будет игнорироваться.

Но нельзя использовать в одних скобках условие с более чем одним параметром. Как быть? В условии виртуальной таблицы оставить условие с одним параметром в скобках, а остальные вынести в ГДЕ. Причем для каждого условия сделать отдельное ГДЕ, которое и взять в скобки. 

Но!

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

Значение Всегда – параметр будет на форме без галочки.


Колонка Запрещать незаполненные значения=True/False

(работает независимо от колонки Использование)

Значение True – отчет не сформируется, пока в параметре не будет введено какое-то значение (будет подчеркиваться красным).

Значение False – отчет будет формироваться с пустым значением параметра в запросе.

 

One thought on “1С СКД – обязательные/необязательные параметры

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *