Наверное многим, как и мне, попадалась на глаза данная функция, но вот до практического применения дело все никак не доходило. И вот наконец свершилось!
А дело было так:
Необходимо было сделать мне упр. отчет, где требовалось для одного поля с вычисляемом выражении (в выражении использовались агрегатные функции) получить итоги только по положительным значениям.
Вот пример:
Где "СумарнаяПроизводительностьАвтоприемов" и "GPH" поля с разных наборов данных.
Сумма(СумарнаяПроизводительностьАвтоприемов * 24 * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов)
В группировках требовался итог только положительных значений. Но в таком виде по некоторым группировках верхнего уровня итог был 0.
Выбор Когда Сумма(СумарнаяПроизводительностьАвтоприемов * 24 * &К1) < Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Тогда 0
Иначе Сумма(СумарнаяПроизводительностьАвтоприемов * 24 * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Конец
Что только не пробовал даже так )
Сумма(Выбор Когда Сумма(СумарнаяПроизводительностьАвтоприемов * 24 * &К1) < Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Тогда 0
Иначе Сумма(СумарнаяПроизводительностьАвтоприемов * 24 * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Конец)
Желаемого результата как раз получилось добиться через функцию "ВычислитьВыражениеСГруппировкойМассив"
Сумма(ВычислитьВыражениеСГруппировкойМассив ("Сумма(СумарнаяПроизводительностьАвтоприемов * 24 * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов)","ОбъектРемонта,ПериодДень" , , "Сумма(СумарнаяПроизводительностьАвтоприемов * 24 * &К1) > Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов)"))