Имя: Пароль:
1C
1С v8
СКД и вложенные агрегатные функции
0 eandrs
 
10.02.12
10:02
Тема не раз поднималась на форуме, но исчерпывающего ответа получено не было. Сабж таков: требуется подсчитать значение группировки верхнего уровня, используя значения группировок нижнего уровня:

Оборудование   Сотрудник    Период   Часы работы
Оборудование1                                 40 - СУММА()
                                                /
              Сотрудник1                     30 - МАКСИМУМ() от
                                                 /  
                                1            30
                                2            20
                                3            20

              Сотрудник2                     10 - МАКСИМУМ() от
                                                 /
                                1            3
                                2            5
                                3            10
                                4            3
Вариант с объединением двух запросов известен. Хотелось бы узнать - могёт ли СКД такое сделать "лёгким движением руки"?
З.Ы. Функцию ВычислитьВыражение() - пытался применить, но судя описанию её можно использовать только для подсчёта группировок "верхнего" уровня. А ВычислитьВыражениеСГруппировкойМассив() - работает, но тогда структура отчета получается жёсткой, т.к. для каждого уровня группировок - свое выражение расчета ресурса приходится писать.
1 eandrs
 
10.02.12
10:11
В бескрайних просторах Антарктики живут славные подниматели пингвинов.
2 Defender aka LINN
 
10.02.12
10:17
Могет.
3 eandrs
 
10.02.12
10:20
(2) Замечательно))). Второй вопрос в новую тему не буду выносить. Каким образом это сделать?
4 Defender aka LINN
 
10.02.12
10:22
(3) Придется для этого открыть таки вкладку "ресурсы" и потыкать там мышью
5 елена
 
10.02.12
10:23
Итог?
6 Defender aka LINN
 
10.02.12
10:24
(5) Мы с лова играем? Тогда "Гидрокостюм"!
7 Defender aka LINN
 
10.02.12
10:24
*в слова
8 елена
 
10.02.12
10:25
метрополитен ;)
9 eandrs
 
10.02.12
10:27
Честно - тыкал. Может не так тыкал, может тыкалка плохо отросла. Можно рецептик - как тыкать?
10 Defender aka LINN
 
10.02.12
10:29
(9) А 2 раза добавить ресурс - пробовал?
11 eandrs
 
10.02.12
10:32
Пробовал. Расчет ведётся по детальным записям. Мене для оборудования надо не как сумму по всем периодам всех сотрудников, а как сумму максимумов ресурса по периодам по сотрудникам.
12 eandrs
 
10.02.12
10:32
(10) - табло в помощь...
13 Defender aka LINN
 
10.02.12
10:38
(11) А если структуру отчета поменяют?
В формулах ресурсов можно еще и другие функции использовать, в последних версиях платформы вроде че-то там такое подобавляли.
14 eandrs
 
10.02.12
10:45
(13) Вот потому и спрашиваю. Для жёстко заданной структуры отчета - знаю как сделать (через ВычислитьВыражениеСГруппировкойМассив()). Однако если группировки оборудование и сотрудник - местами поменяют в иерархии - всё отвалится.
15 eandrs
 
10.02.12
10:45
На 8.2.14.540 - ничего иного, более кошерного не заметил...
16 Gesperid
 
10.02.12
11:03
можно попробовать формировать программно параметры  для ВычислитьВыражениеСГруппировкойМассив в зависимости от настройки
17 eandrs
 
10.02.12
12:26
Попробую так (16)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший