Неверно считаются итоги вычисляемых полей СКД

1. user1530327 15.04.21 11:07 Сейчас в теме
Добрый день, нужна помощь в решении одной проблемы., может кто сталкивался (Платформа 1С 8,3, управляемая).
Есть отчет СКД с вычисляемым полем «СтоимостьУслуги» (Стоимость услуги, евро).
Рассчитывается данное поле из тарифов по шкале, в зависимости от «Суммы сертификата» (таможенный сертификат обеспечения), например: Сумма сертификата до 6 000 – 15 евро, до 10000 – 20 евро, до 20 000 – 24 евро и т.д.
Но есть нюанс, на один грузовой автомобиль может быть оформлено более одного сертификата обеспечения, тогда стоимость услуги рассчитывается от общей суммы всех сертификатов (по этому автомобилю). В этом случае происходит группировка (сложение) суммы сертификатов (в примере авто Р178ЕМ39 от 19.03.2021 – два сертификата общей суммой 8 100) и стоимость услуги рассчитывается по тарифам, но от суммы всех сертификатов по этому авто.

Тариф запрашивается функцией и в вычисляемом поле записана формула (алгоритм) расчета:
СтоимостьУслугиОбеспечения(ИмяКлиентаДляАкта,СтранаНазначения,ВычислитьВыражение("Сумма(СуммаСертификата)","ДатаАвто,НомерАвто"))
Здесь «СтоимостьУслугиОбеспечения» - имя функции с параметрами, и один из параметров - «ВычислитьВыражение("Сумма(СуммаСертификата)","ДатаАвто,НомерАвто")» - это группируется сумма сертификата для получения тарифа.
В результате все верно считается, кроме итога, итог почему-то берется не по сумме всех авто, а по тарифу от итоговой суммы сертификата, т.е. от 29 400 – 43 евро.
Подскажите, что можно сделать, уже перепробовал все что в моих силах … Спасибо
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Alexponenta 15.04.21 11:14 Сейчас в теме
посмотрите как формируется параметр итогов по евро в СКД. Возможно косяк в написании запроса + если используются временные таблицы попробуйте убрать автозаполнение.

Точнее могу сказать если будет виден модуль СКД.
5. user1530327 15.04.21 11:28 Сейчас в теме
Всем спасибо за быстрые советы, не ожидал, приятно)
(2) Запрос простейший из регистра, НомерАвто, ДатаАвто, Страна, СуммаСертификата, здесь вряд ли что-то может быть... временных таблиц тоже нет. Только функция запрашивает в справочнике тарифов цифру по сгруппированной сумме сертификатов.
(4) Спасибо за направление, буду пробовать Ваши рекомендации, может осилю.
3. toypaul 63 15.04.21 11:17 Сейчас в теме
ВычислитьВыражение не умеет считать по нескольким группировкам. это раз
два - не нужна она тут вовсе
три - посчитать можно (нужно) просто как СтоимостьУслугиОбеспечения(Сумма(СуммаСертификата))
четыре - общий итого посчитать как Сумма(ВычислитьВыражениеСГруппировкойМассив("СтоимостьУслугиОбеспечения(Сумма(СуммаСертификата))", "Здесь группировка или список группировок"))
4. toypaul 63 15.04.21 11:20 Сейчас в теме
Предвижу (по картинке) что тут имеется проблема с группировками. Тогда "п. три" нужно считать по другому. опять же через Сумма(ВычислитьВыражениеСГруппировкойМассив ..

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

вот тут рассматривали похожие примеры https://learn.programstore.ru/skd2-intensiv
6. angabanga5 18.09.22 01:24 Сейчас в теме
(4) боед это собачий на самом деле. сумиирование не работает правильно в этой конструкции. проверял очень много раз суммма плывет. переписывать отчет надо
8. toypaul 63 19.09.22 08:48 Сейчас в теме
(6) этот бред по силам только тем у кого руки из плеч растут
7. angabanga5 18.09.22 01:27 Сейчас в теме
(4) вот пример Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Уценка14)","Номенклатура"))
Здесь я дорабатывал отчет и мне нужно брать среднее по группировке номенклатура, чтобы ничего не задваивалось при любых группировках отчета. по итогу даже в группировке по номенклатуре в сумму выводится ересь, не совпадающая с алгоритмом. то есть происходит не суммирование всех максимумов по номенклатуре, а просто билиберда
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот