Имеется отчет на СКД. Для вычисляемого поля КоличествоКурсов на группировках по МНН идет суммирование. На группировке выше НоменклатураИерархия нужно выполнить Минимум по значениям группировки МНН. Крутила-вертела, то берется минимум по группировке Номенклатура, что не нужно, нужно по МНН. То вообще ругается, что невозможно вычислить по НоменклатураИерархия. Попытки были с ВычислитьВыражениеСГруппировкойМассив, видимо некорректно составила.
ВЫБРАТЬ
СУММА(ВложенныйЗапрос.ОстатокПоСпец) КАК ОстатокПоСпецификации,
СУММА(ВложенныйЗапрос.ОстатокПоУреждению) КАК ОстатокПоУреждению,
СУММА(ВложенныйЗапрос.ЗарезервированноНаПациентов) КАК ЗарезервированноНаПациентов,
ВЫБОР
КОГДА НоменклатураДополнительныеРеквизиты.Свойство = &ДопРеквизитНаКурс
ТОГДА НоменклатураДополнительныеРеквизиты.Значение
ИНАЧЕ 1
КОНЕЦ КАК КоличествоНаКурс,
ВложенныйЗапрос.АналитикаВидаУчетаСклад КАК АналитикаВидаУчетаСклад,
ВложенныйЗапрос.МНН КАК МНН,
ВложенныйЗапрос.ФормаВыпуска КАК ФормаВыпуска,
ВложенныйЗапрос.Номенклатура КАК Номенклатура,
ВложенныйЗапрос.НоменклатураРодитель КАК НоменклатураРодитель
ИЗ
(ВЫБРАТЬ
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
СебестоимостьТоваровОстатки.АналитикаВидаУчета.Склад КАК АналитикаВидаУчетаСклад,
NULL КАК ОстатокПоСпец,
СебестоимостьТоваровОстатки.КоличествоОстаток КАК ОстатокПоУреждению,
NULL КАК ЗарезервированноНаПациентов,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.ЭлементКАТ.ДействующиеВеществаМНН КАК МНН,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.ЭлементКАТ.ФормаВыпуска КАК ФормаВыпуска,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.Родитель КАК НоменклатураРодитель
ИЗ
РегистрНакопления.СебестоимостьТоваров.Остатки(, ) КАК СебестоимостьТоваровОстатки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
РезервОстатки.Номенклатура,
NULL,
NULL,
NULL,
РезервОстатки.РезервОстаток,
РезервОстатки.Номенклатура.ЭлементКАТ.ДействующиеВеществаМНН,
РезервОстатки.Номенклатура.ЭлементКАТ.ФормаВыпуска,
РезервОстатки.Номенклатура.Родитель
ИЗ
РегистрНакопления.Резерв.Остатки(, ) КАК РезервОстатки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЗаказыПоставщикам.Номенклатура,
NULL,
ЗаказыПоставщикам.ПоСпецификацииОстаток + ЗаказыПоставщикам.КОформлениюОстаток,
NULL,
NULL,
ЗаказыПоставщикам.Номенклатура.ЭлементКАТ.ДействующиеВеществаМНН,
ЗаказыПоставщикам.Номенклатура.ЭлементКАТ.ФормаВыпуска,
ЗаказыПоставщикам.Номенклатура.Родитель
ИЗ
РегистрНакопления.ЗаказыПоставщикам.Остатки(, ) КАК ЗаказыПоставщикам) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
ПО ВложенныйЗапрос.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.МНН,
ВложенныйЗапрос.ФормаВыпуска,
ВложенныйЗапрос.АналитикаВидаУчетаСклад,
ВложенныйЗапрос.Номенклатура,
ВЫБОР
КОГДА НоменклатураДополнительныеРеквизиты.Свойство = &ДопРеквизитНаКурс
ТОГДА НоменклатураДополнительныеРеквизиты.Значение
ИНАЧЕ 1
КОНЕЦ,
ВложенныйЗапрос.НоменклатураРодитель
Показать
Вычисляемое поле (ЕстьNULL(ОстатокПоУреждению,0)+ЕстьNULL(ОстатокПоСпецификации,0)-ЕстьNULL(ЗарезервированноНаПациентов,0))/КоличествоНаКурс
(8)Спасибо тебе, добрый человек. Выражение верное. Нашла у себя ошибку, когда решила попробовать воткнуть это выражение группировки для нового вычисляемого поля с пустым выражением. У меня просто для верхней группировки не было выбрано поле ресурса! Вот такая вот невнимательность и как результат потерянное время.
Кстати, абракадабра считалась когда было использовано на верхнем уровне Номенклатура Иерархия, вытащила в запрос Родителя - стало все адекватно считаться (вот в момент смены поля верхней группировки и были потеряны мною ресурсы).