Подскажите как исключить из выборки параметр если он не заполнен?
Сейчас получается так, что если я буду фильтровать по одному из параметров, то по остальным он будет искать как по пустым значениям т.к. они не будут заполнены.
&НаСервере
Процедура ПодобратьКурсНаСервере()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Курсы.Ссылка КАК Ссылка,
| Курсы.Наименование КАК Наименование,
| Курсы.Исполнитель КАК Исполнитель,
| Курсы.ВидКурса КАК ВидКурса,
| Курсы.ОписаниеКурса КАК ОписаниеКурса,
| Курсы.ДлительностьКурса КАК ДлительностьКурса,
| Курсы.СредняяСтоимость КАК СредняяСтоимость
|ИЗ
| Справочник.Курсы КАК Курсы
|ГДЕ
| Курсы.Исполнитель = &ПарамИсполнитель
| И Курсы.Наименование ПОДОБНО &ПарамНаименованиеКурса
| И Курсы.ВидКурса = &ПарамВидКурса
| И Курсы.ДлительностьКурса <= &ПарамДлительностьКурса
| И Курсы.СредняяСтоимость <= &ПарамСтоимость";
Запрос.УстановитьПараметр("ПарамИсполнитель", Исполнитель);
Запрос.УстановитьПараметр("ПарамНаименованиеКурса", НаименованиеКурса);
Запрос.УстановитьПараметр("ПарамВидКурса", ВидКурса);
Запрос.УстановитьПараметр("ПарамДлительностьКурса", ДлительностьКурса);
Запрос.УстановитьПараметр("ПарамСтоимость", Стоимость);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Если Выборка.Количество() > 0 Тогда
Пока Выборка.Следующий() Цикл
Сообщить(
"Курс " + Выборка.Код +
", Наименование " + Выборка.Наименование +
", Вид курса " + Выборка.ВидКурса +
", ДлительностьКурса " + Выборка.ДлительностьКурса +
", Преподаватель " + Выборка.Исполнитель +
", Стоимость " + Выборка.СредняяСтоимость
);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПодобратьКурс(Команда)
ПодобратьКурсНаСервере();
КонецПроцедуры