![]() |
![]() |
![]() |
|
Общие итоги для пользовательских полей | ☑ | ||
---|---|---|---|---|
0
Elena Komnina
05.02.16
✎
18:56
|
Добрый день!
Есть отчет СКД,в котором используются пользовательские поля. Упрощенно отчет можно представить в таком виде: Должность | Штатная численность | Оклад | Поле1 _____________________________________________________ Продавец | 1 | 1000 | 1000 Охранник | 1 | 500 | 500 Где Поле1 - пользовательское поле, у которого выражение итоговых записей рассчитывается следующим образом: штатная численность*оклад. При формировании отчета неправильно рассчитываются итоговые записи: вместо суммы произведений получаю произведение сумм, т.е. вместо 1500 получаю 3000. Можно ли как-то прописать формулу для общих итогов пользовательского поля либо как-то по другому исправить данную ошибку? Использование агрегатных функций запрещено, следовательно вариант Сумма(штатная численность*оклад) не удается прописать. |
|||
1
Cyberhawk
05.02.16
✎
19:00
|
Почему бы не добавить поле не как пользовательское?
|
|||
2
Elena Komnina
05.02.16
✎
19:09
|
Формулу расчета представила в понятном виде, на самом деле поле рассчитывается как сумма ряда ресурсов, которые добавляются в зависимости от условий. Например, выбор когда КоличествоПремийЗаМесяц<>0 Тогда +Премия, выбор когда УчитыватьГодовуюПремию, тогда + ГодоваяПремия и т.д.
Каждый из этих ресурсов(Годовая премия, КоличествоПремийЗаМесяц, оклад...) рассчитывается на закладке Ресурсы с помощью функций ВычислитьВыражениеСГруппировкойМассив и прочих. Например, Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(Оклад)","Должность, Подразделение")). Если эту всю радость слепить не в пользовательском поле, то получится нечитабельное полотно, понять которое и я сама не смогу, не то, что другой человек. |
|||
3
Elena Komnina
05.02.16
✎
19:28
|
И даже если написать все это поле не в пользовательских полях, то в ресурсах все равно не получилось использовать агрегатные функции.
|
|||
4
mikecool
05.02.16
✎
19:52
|
(0) Сумма([штатная численность]*[оклад]) работает?
|
|||
5
Elena Komnina
08.02.16
✎
14:43
|
Штатная численность - это вычисляемое поле ВычислитьВыражениеСГруппировкойМассив("Максимум(Численность)","Подразделение,Должность, УровеньКвалификации")
Оклад - это тоже вычисляемое поле ВычислитьВыражениеСГруппировкойМассив("Максимум(БазовыйОклад)","Должность, Подразделение") В итоге сумма произведений Сумма(штатная численность*оклад)не получается, ошибка Неверные параметры "*" |
|||
6
mikecool
08.02.16
✎
15:01
|
(5) молодец, что писатель, теперь как читатель прочти (4)
|
|||
7
Elena Komnina
08.02.16
✎
15:19
|
(6) Ошибка получается независимо от того указаны поля в квадратных скобках или нет. Сумма([Оклад]*[ШтатнаяЧисленность]) в xml преобразовывается в
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(БазовыйОклад)", "Должность, Подразделение") * ВычислитьВыражениеСГруппировкойМассив("Максимум(Численность)", "Подразделение, Должность, УровеньКвалификации") и выдает ошибку при формировании отчета |
|||
8
mikecool
08.02.16
✎
15:22
|
(7) ничего не понимаю, какой хмл?
пользовательские поля оперируют результатом, теми полями, что идут на выходе у скд |
|||
9
KuAl
08.02.16
✎
15:38
|
(5) судя по всему типы не совпадают в перемножаемых значениях.
может попробовать сначала сделать ВычислитьВыражениеСГруппировкойМассив по одинаковым группировкам? и посчитать сумму? Точно численность и базовый оклад везде число? |
|||
10
Cyberhawk
08.02.16
✎
15:49
|
(7) Кол-во закрывающих скобок меньше, чем открывающих
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |