среда, 23 апреля 2014 г.

Проверка на пустой список значений в запросе

Для того, чтобы в запросе проверить параметр типа список  значений на пустоту можно воспользоваться дополнительным параметром, который будет передаваться в запрос вместе со списком и показывать пустой список или нет.

Пример:
Выбрать информацию о продажах только тех контрагентов, которые содержатся в заданном списке. Проверку на заполненность списка значений проверять в запросе.

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|   ПродажиОбороты.Номенклатура,
|   ПродажиОбороты.ХарактеристикаНоменклатуры,
|   ПродажиОбороты.ЗаказПокупателя,
|   ПродажиОбороты.ДоговорКонтрагента,
|   ПродажиОбороты.ДокументПродажи,
|   ПродажиОбороты.Подразделение,
|   ПродажиОбороты.Проект,
|   ПродажиОбороты.Организация,
|   ПродажиОбороты.Контрагент,
|   ПродажиОбороты.КоличествоОборот,
|   ПродажиОбороты.СтоимостьОборот,
|   ПродажиОбороты.СтоимостьБезСкидокОборот,
|   ПродажиОбороты.НДСОборот
|ИЗ
|   РегистрНакопления.Продажи.Обороты(
|           ,
|           ,
|           ,
|           &ПустыеКонтрагенты
|               ИЛИ Контрагент В (&СписокКонтрагентов)) КАК ПродажиОбороты"
;

Запрос.УстановитьПараметр("ПустыеКонтрагенты", СписокКонтрагентов.Количество() = 0);
Запрос.УстановитьПараметр("СписокКонтрагентов", СписокКонтрагентов);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока
ВыборкаДетальныеЗаписи.Следующий() Цикл
     ....

КонецЦикла;


Добавить комментарий

Комментариев нет :

Отправить комментарий