СКД: вызов глобальной функции в вычисляемом поле с параметром таблицей значений #712525


#0 by serzh44
Расчет некоторого ресурса выполняется глобальной функцией, одним из параметров которой является таблица значений. В качестве таблицы значений необходимо передавать табличную часть элемента справочника, т.е. расчет выполняется для элемента справочника на основании данных табличной части. Для передачи таблицы значений в глобальную функцию в вычисляемом поле использую новую функцию СКД "ТАБЛИЦАЗНАЧЕНИЙ". Например, если есть справочник "Маршруты" и в нем табличная часть "Пункты", то запрос набора данных выгладит следующим образом: ИЗ   Справочник.Маршруты То, в вычисляемом поле пишу следующее: глРасчет(Маршрут, ТАБЛИЦАЗНАЧЕНИЙ(Пункты.Расстояние КАК Расстояние)) В результате для детальных записей все работает как надо, но по группировкам не работает расчет итогов путем суммирования, почему-то выводится максимум. И вообще, путем долгих проб сделал такой вывод. Если есть вычисляемое поле, выражение которого содержит вызов глобальной функции с передачей в качестве одного из параметров таблицы значений, сформированной функцией СКД "ТАБЛИЦАЗНАЧЕНИЙ", то по данному вычисляемому поле не работает суммирование в итогах, почему-то выводится максимум. А мне нужно выводить в итогах сумму. Может как-то по-другому написать? Такое ощущение, что когда СКД видит функцию "ТАБЛИЦАЗНАЧЕНИЙ", то начинает как-то странно работать.
#1 by mistеr
А в итогах-то СУММА?
#2 by serzh44
В итогах сумма. Если в итогах написать "МАССИВ(<ИмяВычисляемогоПоле>)", то выводится только одно значение. Т.е. выходит, что СКД "думает", что для расчета итогов по группировке есть только одно значение. Визуально это выглядит так: есть 2 группировки. На 2 уровне две строки со значениями 10 и 15. На 1 уровне в итогах будет 15. При этом используется функция "СУММА".
#3 by Alex S D
а нельзя передать ссылку, а таб. часть получить уже в функции?
#4 by serzh44
можно, но хотелось, чтобы отчет быстрее строился. Так получится запрос в цикле.
#5 by mistеr
Можно кэшировать.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С