простой запрос по справочнику скидки с фильтром по контрагенту и по номенклатуре
ТекстЗапроса = "
|SELECT Скидки.ID [Скидки $Справочник.Скидки]
| , $Скидки.Контрагент [Контрагент $Справочник.Контрагенты]
| , $Скидки.Номенклатура [Номенклатура $Справочник.Номенклатура]
| , $Скидки.ДатаНачала ДатаНачала
| , $Скидки.ДатаОкончания ДатаОкончания
| , $Скидки.Процент Процент
|FROM $Справочник.Скидки AS Скидки
|WHERE Скидки.IsMark=0 ";
Если сзТМЦ.РазмерСписка()>0 Тогда
ТекстЗапроса = ТекстЗапроса +
"
|and $Скидки.Номенклатура IN (SELECT Val FROM #ГруппаН)";
КонецЕсли;
Если сзКонтр3.РазмерСписка()>0 Тогда
ТекстЗапроса = ТекстЗапроса +
"
|and $Скидки.Контрагент IN (SELECT Val FROM #ГруппаК)";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса +
"
|GROUP BY Скидки.ID
| , $Скидки.Контрагент
| , $Скидки.Номенклатура
| , $Скидки.ДатаНачала
| , $Скидки.ДатаОкончания
| , $Скидки.Процент
|ORDER BY $Скидки.Номенклатура
| , $Скидки.Контрагент
|";
рс.УложитьСписокОбъектов(сзТМЦ, "#ГруппаН", "Номенклатура");
рс.УложитьСписокОбъектов(сзКонтр3, "#ГруппаК", "Контрагенты");
Если я устанавливаю фильтр по номенклатуре, к примеру задав в список сзТМЦ папку 1-го уровня, то в результат попадут только скидки установленные на элементы справочника номенклатуры (входящие в эту группу) а скидки установленные на группы номенклатуры (более низкого уровня) вообще не попадают в результирующую таблицу.
Если я вообще не накладываю фильтр по номенклатуре , а только по контрагенту, то в отчет попадают все как надо.
Подскажите как решить проблему?