Условие: Отчёт, в котором есть какие-то параметры для заполнения, например период.
Задача: Сделать так, чтобы отчёт строился даже без указания параметров.
Допустим, мы имеем два параметра в отчёте: &НачалоПериода и &КонецПериода. Когда пользователь в форме отчёта заполняет эти параметры, отчёт строится по ним. В случае, если параметры не заполнены, мы должны выбрать в отчёт все данные, не ограничиваясь периодом.
Вариант 1. Параметры в запросе СКД заданы «жёстко».
В этом случае параметру &НачалоПериода мы должны присвоить дату точки отсчёта, а параметру &КонецПериода — 3999 год. Сделаем это в настройках СКД на вкладке Параметры.
В поле Выражение запишем следующее:
Для параметра &НачалоПериода
ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1,1,1) ИЛИ &НачалоПериода = НЕОПРЕДЕЛЕНО ТОГДА ДатаВремя(1, 1, 1) ИНАЧЕ &НачалоПериода Конец
Для параметра &КонецПериода
ВЫБОР КОГДА &КонецПериода = ДАТАВРЕМЯ(1,1,1) ИЛИ &КонецПериода = НЕОПРЕДЕЛЕНО ТОГДА ДатаВремя(3999, 1, 1) ИНАЧЕ КОНЕЦПЕРИОДА(&КонецПериода, «День») Конец
Попробуем сформировать отчёт без заполнения параметров в форме отчёта и увидим такие ошибки: Не задан параметр &НачалоПериода, Не задан параметр &КонецПериода.
Для устранения этих ошибок нужно в настройках СКД на вкладке Параметры установить для наших параметров признак «Использовать всегда». После этого отчёт должен строиться нормально.
Вариант 2. «Мягкое» задание параметров в запросе СКД.
ГДЕ
ПриобретениеТоваровУслуг.Проведен = ИСТИНА
{ГДЕ
(ПриобретениеТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода)}
Условие, заданное в фигурных скобках, не будет вызывать ошибку при незаполненных параметрах.
Добавить комментарий