Проблема в получении остатков по нескольким складам
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
| ЗаказыПокупателейОстатки.КоличествоОстаток КАК Отгрузить,
| ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
| ЗаказыПокупателейОстатки.Номенклатура.ОсновнойПоставщик КАК ОсновнойПоставщик,
| СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) - ЕСТЬNULL(СУММА(ПартииТоваровНаСкладахОстатки.КоличествоОстаток), 0) КАК Докупить,
| ЗаказыПокупателейОстатки.Номенклатура.Наименование КАК НоменклатураНаименование
|ИЗ
| РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
| , Склад в (&Склады)) КАК ПартииТоваровНаСкладахОстатки
| ПО ЗаказыПокупателейОстатки.Номенклатура = ПартииТоваровНаСкладахОстатки.Номенклатура
|ГДЕ
| ЗаказыПокупателейОстатки.ЗаказПокупателя = &ЗаказПокупателя
|
|СГРУППИРОВАТЬ ПО
| ЗаказыПокупателейОстатки.Номенклатура.ОсновнойПоставщик,
| ЗаказыПокупателейОстатки.Номенклатура,
| ЗаказыПокупателейОстатки.ЗаказПокупателя,
| ЗаказыПокупателейОстатки.КоличествоОстаток,
| ПартииТоваровНаСкладахОстатки.Номенклатура,
| ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 0),
| ЗаказыПокупателейОстатки.Номенклатура.Наименование
|
|ИМЕЮЩИЕ
| СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) - ЕСТЬNULL(СУММА(ПартииТоваровНаСкладахОстатки.КоличествоОстаток),0) > 0
|
|УПОРЯДОЧИТЬ ПО
| ОсновнойПоставщик,
| НоменклатураНаименование
|ИТОГИ
| СУММА(Отгрузить),
| СУММА(Остаток)
|ПО
| ОсновнойПоставщик";
Запрос.УстановитьПараметр("ЗаказПокупателя",ЗаказПокупателя); // в последующем здесь будет список заказов, которые будем анализировать
Запрос.УстановитьПараметр("Склады",Склады); // Склады - список значений
В этом случае получаем остатки по всем складам, хотя в список значений добавлено только 2 склада
Если поставить условие
|ГДЕ
| ЗаказыПокупателейОстатки.ЗаказПокупателя = &ЗаказПокупателя
| И Склад = &Склад1 ИЛИ Склад = &Склад2
то запрос не выводит товары которых нет в остатках на складе, даже если они заказаны
! | Правила, п. 12!!! |