Постановка задачи: Часто возникает ситуация, когда параметр запроса может быть как заполнен, так и пустым. При пустом значении параметра необходимо выбрать все данные, не применяя к ним фильтрацию. Решения: Существует несколько способов решить эту задачу: SQL ВЫБРАТЬ
*
ИЗ
Справочник.Номенклатура
ГДЕ
(&Параметр = Значение(Справочник.Номенклатура) ИЛИ &Параметр = Значение(ПустаяСсылка)) ВЫБРАТЬ
*
ИЗ
Справочник.Номенклатура
ГДЕ
(&Параметр = Значение(Справочник.Номенклатура) ИЛИ ЕСТЬNULL(&Параметр)) ВЫБРАТЬ
*
ИЗ
Справочник.Номенклатура
ГДЕ
ВЫБОР
КОГДА ЕСТЬNULL(&Параметр) ТОГДА ИСТИНА
ИНАЧЕ Номенклатура.Код = &Параметр
КОНЕЦ ТекстЗапроса = "ВЫБРАТЬ * ИЗ Справочник.Номенклатура";
Если НЕ ЕСТЬNULL(&Параметр) Тогда
ТекстЗапроса = ТекстЗапроса + " ГДЕ Номенклатура.Код = &Параметр";
КонецЕсли;
// Выполнение запроса с полученным текстом Дополнительные рекомендации: Пример с использованием параметра типа "Дата": ВЫБРАТЬ
*
ИЗ
Докум