0
Быдлокодер 80 lvl
21.01.12
✎
15:46
|
Доброго времени суток! Сделал запрос:
ВЫБРАТЬ
КомплектующиеНоменклатуры.Номенклатура КАК Номенклатура//,
//СУММА(ВЫБОР
// КОГДА КомплектующиеНоменклатуры.Комплектующая.ВидНоменклатуры = ЗНАЧЕНИЕ(Справочник.ВидыНоменклатуры.Упаковка)
// ТОГДА 1
// ИНАЧЕ 0
// КОНЕЦ) КАК КоличествоРазличныхУпаковок,
//СУММА(1) КАК КоличествоРазличныхКомплектующих
ИЗ
РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
СГРУППИРОВАТЬ ПО
КомплектующиеНоменклатуры.Номенклатура
ИМЕЮЩИЕ
СУММА(ВЫБОР
КОГДА КомплектующиеНоменклатуры.Комплектующая.ВидНоменклатуры = ЗНАЧЕНИЕ(Справочник.ВидыНоменклатуры.Упаковка)
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) = СУММА(1)
С комментарием и без него получается нужный результат. Мне нужна только номенклатура, поэтому количество не важно. В справке не нашел - правильно ли я понял, что в предложении "ИМЕЮЩИЕ" можно накладывать условия даже на те поля, которых нет в списке выбираемых?
|
|
2
Kom-off
21.01.12
✎
17:24
|
(0) Не совсем. В предложении имеющие можно накладывать условия на поля, которые являются результатом группировки, т.е. на результаты агрегатных функций, например СУММА(), КОЛИЧЕСТВО() и пр. А накладывать условия на поля, которых нет в списке выбираемых можно и в предложении ГДЕ. Например, выбираешь ты из справочника контрагентов только ссылку. Никто не мешает тебе при этом прописать условия в предложении ГДЕ по любым реквизитам справочника контрагенты.
|
|