Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Неверные итоги по вычисляемому полю в скд

Неверные итоги по вычисляемому полю в скд
Я
   axoff
 
15.04.21 - 17:40
Добрый день, нужна помощь в решении одной проблемы., может кто сталкивался.
Есть отчет СКД с вычисляемым полем «СтоимостьУслуги» .
Рассчитывается данное поле из тарифов по заданной шкале справочника, в зависимости от «Суммы сертификата» (таможенный сертификат обеспечения), например: Сумма сертификата до 5 000 – 5 евро, до 10000 – 10 евро, до 20 000 – 20 евро и т.д.
Но есть нюанс, на один грузовой автомобиль может быть оформлено более одного сертификата обеспечения, тогда стоимость услуги рассчитывается от общей суммы всех сертификатов (по этому автомобилю). В этом случае происходит группировка (сложение) суммы сертификатов и стоимость услуги рассчитывается по тарифам, но от суммы двух сертификатов.

Тариф запрашивается функцией и в ресурсе записана формула (выражение) расчета:
СтоимостьУслугиОбеспечения(ИмяКлиентаДляАкта,СтранаНазначения,ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаСертификата)","ДатаАвто,НомерАвто"))
Здесь «СтоимостьУслугиОбеспечения» - имя функции с параметрами, и один из параметров -  «ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаСертификата)","ДатаАвто,НомерАвто")»  - это группируется сумма сертификата по авто для получения тарифа.
В результате все верно считается, кроме итога, итог почему-то суммируется не по строкам, а рассчитывается по тарифу от итоговой суммы сертификатов.
Подскажите, что можно сделать, уже перепробовал все что в моих силах… Спасибо
   fisher
 
1 - 15.04.21 - 17:55
Тебе надо или допилить СтоимостьУслугиОбеспечения(), чтобы она возвращала корректный результат, если в нее залетает массив данных по куче автомобилей (чтобы она по каждому считала стоимость услуги и потом их суммировала) или попробовать переделать формулу на что-то типа такого:
Сумма(ВычислитьВыражениеСГруппировкойМассив("СтоимостьУслугиОбеспечения(Сумма(СуммаСертификата),...)","ДатаАвто,НомерАвто"))
   fisher
 
2 - 15.04.21 - 17:59
Для первого варианта надо еще переделать на ВычислитьВыражениеСГруппировкойТаблицаЗначений()
   fisher
 
3 - 15.04.21 - 17:59
Но лучше, конечно, попробовать завести второй.
   fisher
 
4 - 15.04.21 - 18:03
А, туплю, у тебя же только сумма передается.
Тогда просто так и попробуй: Сумма(ВычислитьВыражениеСГруппировкойМассив("СтоимостьУслугиОбеспечения(Сумма(СуммаСертификата))","ДатаАвто,НомерАвто"))
Не уверен, что так взлетит, но попробовать стоит.
   axoff
 
5 - 15.04.21 - 18:11
(4) Вы гений!!! Бился две недели))) Спасибо... спасибище!

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.