Запросы в 1С скд

Работа с запросами в 1С СКД. Примеры использования расширения языка запросов СКД

Все тонкости использования расширения языка запросов 1С для СКД вы можете изучить по ссылкам, которые приведены в предыдущей статье. Здесь мы рассмотрим конкретные кейсы применения данного расширения.

Необязательное условие

Обычно необязательными делают условия с параметром. Самый часто встречающийся пример это выборка документов по периоду. Отчет при этом должен выводить документы при любой комбинации заданных дат периода – все документы, после даты начала, до даты конца, за заданный период. В этом случае запрос набора данных будет выглядеть следующим образом:
ВЫБРАТЬ

РасходнаяНакладная.Номер,

РасходнаяНакладная.Дата,

РасходнаяНакладная.СуммаПоДокументу

ИЗ

Документ.РасходнаяНакладная КАК РасходнаяНакладная

{ГДЕ

(РасходнаяНакладная.Дата >= &НачалоПериода),

(РасходнаяНакладная.Дата <= &КонецПериода)}

Необязательная таблица

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

Необязательный параметр

Необязательный параметр используется примерно также как и необязательное условие. Обычно так используются параметры, используемые в виртуальных таблицах регистров (накопления, сведений и т.п.). Общий синтаксис в этом случае будет такой:
Работа с запросами в 1С СКД
При этом в параметры автоматически добавляется 2 параметра – «НаДату» с ограничением доступности и параметр «НаДатуКомпоновка» доступный пользователю. Смысл такой конструкции в следующем – если значение параметра «НаДатуКомпоновка» используется, то в запрос передается оно, если не используется, то в запрос передается значение параметра «НаДату», в котором можно, например, в выражении указать какое-то значение по умолчанию.
Если в запросе не указать необязательный параметр «НаДатуКомпоновка», то СКД автоматически добавит (для регистра сведений) такой параметр с именем по умолчанию – «Период». Обычно из-за этого возникает путаница, когда на форму для пользователя выводят значение параметра «НаДату» и если пользователь его не указал, возникает ошибка, потому что ни один из параметров для таблицы не заполнен.
Если вам не нужен параметр по умолчанию («НаДату»), то можно его не указывать и тогда в параметрах остается только параметр «НаДатуКомпоновка», который пользователь может не указывать и в этом случае в запрос передается в качестве значения по умолчанию пустая дата.

Управление местом применения отбора и доступностью

Иногда при разработке отчета на системе компоновки данных (СКД) возникает необходимость в тонкой настройке места применения отбора.
Почему так случилось, разберем в следующем разделе «Особенности работы запросов в 1С СКД»
В следующей статье разберем каким образом применять подмену запросов в языке выражений.