1С СКД Как вывести положительные значения разности в шапке группировки

Есть отчет, в нём поля "Долг", "Продажи", "Просрочка". В ресурсах СКД заданы так:

Долг = Сумма(СуммаОстаток),
Продажи = Сумма(ПродажиПриход)

В просрочку вывожу только положительные значения:

Просрочка = ВЫБОР КОГДА Сумма(СуммаОстаток) - Сумма(ПродажиПриход) > 0 ТОГДА Сумма(СуммаОстаток) - Сумма(ПродажиПриход) ИНАЧЕ 0 КОНЕЦ.

В колонке выводятся разности без минусов, так и надо.

Задача: в шапке группировки вывести сумму полученных результатов, то есть исключительно положительных разностей.

Важно: в формуле нужны именно Сумма(Значения), а не просто Значения. Если бы речь шла про одно Сумма(Значение), то решилось бы так:

Сумма(ВЫБОР КОГДА СуммаОстаток > 0 ТОГДА СуммаОстаток ИНАЧЕ 0 КОНЕЦ)

или с двумя значениями без агрегатов:

Сумма(ВЫБОР КОГДА СуммаОстаток - ПродажиПриход > 0 ТОГДА СуммаОстаток - ПродажиПриход ИНАЧЕ 0 КОНЕЦ)

Но нужно примерно так: НЕПРАВИЛЬНЫЙ ПРИМЕР:

Сумма(ВЫБОР КОГДА Сумма(СуммаОстаток) - Сумма(ПродажиПриход) > 0 ТОГДА Сумма(СуммаОстаток) - Сумма(ПродажиПриход) ИНАЧЕ 0 КОНЕЦ).

Конечно же, ошибка про недопустимость вложенных агрегатов.

Будьте любезны, подскажите, пожалуйста, как выйти из положения.


Ответы (1 шт):

Автор решения: A.M.P.

Для корректного подсчета в хитровывернутых формулах не хватало правильного упоминания группировок.

Вот так это делается:

Сумма(ВычислитьВыражениеСГруппировкойМассив("ВЫБОР
КОГДА
Сумма(ЕСТЬNULL(СуммаОстаток, 0)) - Сумма(ЕСТЬNULL(ПродажиПриход, 0)) > 0
ТОГДА
Сумма(ЕСТЬNULL(СуммаОстаток, 0)) - Сумма(ЕСТЬNULL(ПродажиПриход, 0))
ИНАЧЕ 0
КОНЕЦ" "Группировка1, Группировка2, Группировка3"))
→ Ссылка