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