Имя: Пароль:
1C
1С v8
Разорвите мне СКД
,
0 noxxx
 
11.12.14
16:32
Вопрос есть по отчетам на СКД. Не могу понять как так сделать.
Есть таблица

Подразделение | Раздел бюджета | Наименование статьи | План | Факт

В отчете на СКД строки группируются так:

1. Раздел бюджета
1.1. Наименование статьи

В колонках - показатели План и Факт по Подразделениям

В итоге строки получаются такой структуры: http://joxi.ru/gmvVQxXS1vYdma

Мне нужно добавить колонку, которая будет показывать по каждой статье коммерческих расходов какой процент сумма составляет от ОБЩЕЙ выручки. То есть вот так: http://joxi.ru/1A5JD8YIbGearE

Можно ли это сделать как-то штатно в СКД? Может я шаблонами какими-то мыслю, но я не могу придумать как это сделать.
1 sapphire
 
11.12.14
16:34
(0) Можно использовать выражения СКД (см справку в конфигураторе) создать вычисляемое поле и соответствующий ему ресурс
2 noxxx
 
11.12.14
16:45
(1) Я правильно понимаю, что мне надо сделать вычисляемое поле, которое всегда будет равно сумме общей выручки?

А каким образом в этом выражении сложить все строки по конкретному подразделению из конкретного раздела бюджета?
3 Fragster
 
гуру
11.12.14
16:52
в справке по выражениям СКД прямо этот пример приведен
4 Garykom
 
гуру
11.12.14
16:53
Ну запрос то, откуда табличка взялась поправить, добавить поле "ПроцентОтВыручки"
5 sapphire
 
11.12.14
17:08
(2) Нет
6 noxxx
 
11.12.14
17:18
(5) Нечто типа ВычислитьВыражение("Сумма(СуммаСценария)","РазделБюджета")
?
7 тарам пам пам
 
11.12.14
17:22
Вычислить (Evaluate)
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки.

Синтаксис:

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

Параметры:

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

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

ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.
8 noxxx
 
12.12.14
10:06
Сделал вот так: ВычислитьВыражение("Сумма(СуммаСценария)", "РазделБюджета", "ГруппировкаНеРесурса")

Считает, но выражение считает для текущей группировке. А мне надо выражение только от первой группировки (там где выручка).

См. скрин. это возможно сделать?

http://joxi.ru/gmvVQxXS1e88ma
9 noxxx
 
12.12.14
11:13
Ну ап же.
10 noxxx
 
12.12.14
11:17
Оу ес!

Воттак работает: ВычислитьВыражение("Сумма(СуммаСценария)", "РазделБюджета", "ГруппировкаНеРесурса", "Предыдущая(2)", "Предыдущая(2)")
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан