Условие: Отчёт, в котором есть какие-то параметры для заполнения, например период.

Задача: Сделать так, чтобы отчёт строился даже без указания параметров.

Допустим, мы имеем два параметра в отчёте: &НачалоПериода и &КонецПериода. Когда пользователь в форме отчёта заполняет эти параметры, отчёт строится по ним. В случае, если параметры не заполнены, мы должны выбрать в отчёт все данные, не ограничиваясь периодом.

Вариант 1. Параметры в запросе СКД заданы "жёстко".

В этом случае параметру &НачалоПериода мы должны присвоить дату точки отсчёта, а параметру &КонецПериода - 3999 год. Сделаем это в настройках СКД на вкладке Параметры.

В поле Выражение запишем следующее:

Для параметра &НачалоПериода

ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1,1,1) ИЛИ &НачалоПериода = НЕОПРЕДЕЛЕНО ТОГДА ДатаВремя(1, 1, 1) ИНАЧЕ &НачалоПериода Конец

Для параметра &КонецПериода

ВЫБОР КОГДА &КонецПериода = ДАТАВРЕМЯ(1,1,1) ИЛИ &КонецПериода = НЕОПРЕДЕЛЕНО ТОГДА ДатаВремя(3999, 1, 1) ИНАЧЕ КОНЕЦПЕРИОДА(&КонецПериода, "День") Конец 

Попробуем сформировать отчёт без заполнения параметров в форме отчёта и увидим такие ошибки: Не задан параметр &НачалоПериода, Не задан параметр &КонецПериода.

Для устранения этих ошибок нужно в настройках СКД на вкладке Параметры установить для наших параметров признак "Использовать всегда". После этого отчёт должен строиться нормально.

Вариант 2. "Мягкое" задание параметров в запросе СКД.

ГДЕ
	ПриобретениеТоваровУслуг.Проведен = ИСТИНА
{ГДЕ
	(ПриобретениеТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода)}

Условие, заданное в фигурных скобках, не будет вызывать ошибку при незаполненных параметрах.