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