Имя: Пароль:
1C
1С v8
Вопрос по СКД.
0 MasterLalala
 
16.12.15
14:36
Картинку прикладываю: http://s018.radikal.ru/i509/1512/28/b9523dc3130f.png

Вопрос вот в чем.
По "Показатель SC" должны выводится суммы "Показателя SC". Это работает.
По "Сотрудник", должны выводится суммы всех показателей сотрудника. Это работает. (в ресурсе сумму делаем по сотруднику)
По "Подразделению", должно выводится среднее всех сумм показателей по сотрудникам, деленное на количество сотрудников (этого подразделению соответственно). и так по все подразделениям в иерархии. Как это сделать?

Примерная иерархия вот такая:
Подр1-91,25
-Подр2-20
--Сотр1-30
---Пок1-10
---Пок2-20
--Сотр2-10
---Пок1-15
---Пок2-05
-Подр3-162,5
--Сотр3-75
---Пок1-50
---Пок2-100
--Сотр4-250
---Пок1-200
---Пок2-300
1 Nuobu
 
16.12.15
14:46
(0) Выведи поле с числом 1 в запросе. И на сумму(ПолеСчислом1) раздели.
2 LordCMEPTb
 
16.12.15
14:52
Есть в СКД такая функция: "ВычислитьВыражениеСГруппировкойМассив", которая первым параметром принимает выражение, а вторым - группировку.
Т.е. переводя фразу "По "Подразделению", должно выводится среднее всех сумм показателей по сотрудникам, деленное на количество сотрудников (этого подразделению соответственно), получаем:

Среднее(
    ВычислитьВыражениеСГруппировкойМассив(
        "Сумма(СуммаПоСотруднику)",
        "Сотрудник"
    )
) / Сумма(
    ВычислитьВыражениеСГруппировкойМассив(
        "Количество(Различные Сотрудник)",
        "Подразделение"
    )
)
3 MasterLalala
 
16.12.15
15:35
Примерная иерархия вот такая:
Подр1-175
-Подр2-25
--Сотр1-30
---Пок1-10
---Пок2-20
--Сотр2-20
---Пок1-15
---Пок2-05
-Подр3-325
--Сотр3-150
---Пок1-50
---Пок2-100
--Сотр4-500
---Пок1-200
---Пок2-300


так правильнее
4 MasterLalala
 
16.12.15
15:47
(2) совершенно ничего непонятно )) я еще не один денб убью чтобы понять чтобы ты написал ) можешь описать понятнее?
например: "Сумма(СуммаПоСотруднику)" - что за сумма такая, где ее получить надо чтобы потом выбрать в этой процедуре? "Количество(Различные Сотрудник)" - что за количество такое, где ее получить надо чтобы потом выбрать в этой процедуре?

и вообще куда всю эту процедуру вставлять?
5 Nuobu
 
16.12.15
15:53
(4) За тебя никто делать не будет. Не хочешь разбираться - звони в ближайший франч и заказывай работы.
6 MasterLalala
 
16.12.15
15:59
Никто не знает?
7 LordCMEPTb
 
16.12.15
16:03
Судя по (4) надо всего лишь

Среднее(
    ВычислитьВыражениеСГруппировкойМассив(
        "Сумма(СуммаПоСотруднику)",
        "Сотрудник"
    )
)

где Сумма(СуммаПоСотруднику) - выражение (как на других полях с закладки "Ресурсы" конструктора СКД) для той единственной суммы, представленной в (4) сообщении.
8 MasterLalala
 
16.12.15
16:05
(7) там сумма по показателю, а как сумму по сотруднику получить?
9 MasterLalala
 
16.12.15
16:11
(7) хотя не надо, большое тебе спасибо, разобрался ))
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший