Имя: Пароль:
1C
1С v8
функции в группировках СКД
0 пыхтачокк
 
12.09.12
11:24
Всем доброго дня!
Столкнулся с проблемой, может кто-нибудь делал подобное, подскажите плз. Итак, подробно: имеется отчет, группировки Подразделение, Должность и детальные записи. В детальных записях выводится ФИО, оклад, занято ставок и т.п. а также количество ставок на данную должность (сумма). Например так
---
Сантехник                  3
 Иванов  10000  1 ....... 3 <-- всего ставок на эту должность
 Петров  12000  1 ....... 3
---
и так далее. на группировке Должность количество ставок определяю просто МАКСИМУМ(КоличествоСтавок), а вот на группировке выше (Подразделение) нужна сумма количества ставок дочерних группировок Должность. Как такую хитрость устроить? Второй день бьюсь. ХЭЛП !!!
1 Kashemir
 
12.09.12
11:26
Вычислить()
2 пыхтачокк
 
12.09.12
11:58
(1) Спасибо, почти то, что нужно (только ВычислитьВыражение нашел, по Вычислить ничего не отыскалось). Но есть тонкость - количество выделенных ставок может быть меньше, чем количество занятых, например
---                  
Сантехник          2
Иванов  10000  1  2
Петров  12000  1  2
Сидоров 10000  1  2
---
ставок 3, но это занятых, а выделено только 2
ВычислитьВыражение("КоличествоСтавок", "ПодразделениеОрганизации", "Группировка") в итогах дает 3, а правильно 2...
3 Kashemir
 
12.09.12
12:24
Вычислить() это упрощенная версия ВычислитьВыражение()

Вычислить (Evaluate)
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки.

Синтаксис:

Вычислить(Выражение, Группировка, ТипРасчета)

Параметры:

Выражение. Тип Строка. Содержит вычисляемое выражение;
Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")

В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.

ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.


(2) Вопроса не понял