0
axoff
15.04.21
✎
17:40
|
Добрый день, нужна помощь в решении одной проблемы., может кто сталкивался.
Есть отчет СКД с вычисляемым полем «СтоимостьУслуги» .
Рассчитывается данное поле из тарифов по заданной шкале справочника, в зависимости от «Суммы сертификата» (таможенный сертификат обеспечения), например: Сумма сертификата до 5 000 – 5 евро, до 10000 – 10 евро, до 20 000 – 20 евро и т.д.
Но есть нюанс, на один грузовой автомобиль может быть оформлено более одного сертификата обеспечения, тогда стоимость услуги рассчитывается от общей суммы всех сертификатов (по этому автомобилю). В этом случае происходит группировка (сложение) суммы сертификатов и стоимость услуги рассчитывается по тарифам, но от суммы двух сертификатов.
Тариф запрашивается функцией и в ресурсе записана формула (выражение) расчета:
СтоимостьУслугиОбеспечения(ИмяКлиентаДляАкта,СтранаНазначения,ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаСертификата)","ДатаАвто,НомерАвто"))
Здесь «СтоимостьУслугиОбеспечения» - имя функции с параметрами, и один из параметров - «ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаСертификата)","ДатаАвто,НомерАвто")» - это группируется сумма сертификата по авто для получения тарифа.
В результате все верно считается, кроме итога, итог почему-то суммируется не по строкам, а рассчитывается по тарифу от итоговой суммы сертификатов.
Подскажите, что можно сделать, уже перепробовал все что в моих силах… Спасибо
|
|
1
fisher
15.04.21
✎
17:55
|
Тебе надо или допилить СтоимостьУслугиОбеспечения(), чтобы она возвращала корректный результат, если в нее залетает массив данных по куче автомобилей (чтобы она по каждому считала стоимость услуги и потом их суммировала) или попробовать переделать формулу на что-то типа такого:
Сумма(ВычислитьВыражениеСГруппировкойМассив("СтоимостьУслугиОбеспечения(Сумма(СуммаСертификата),...)","ДатаАвто,НомерАвто"))
|
|
4
fisher
15.04.21
✎
18:03
|
А, туплю, у тебя же только сумма передается.
Тогда просто так и попробуй: Сумма(ВычислитьВыражениеСГруппировкойМассив("СтоимостьУслугиОбеспечения(Сумма(СуммаСертификата))","ДатаАвто,НомерАвто"))
Не уверен, что так взлетит, но попробовать стоит.
|
|