Имя: Пароль:
1C
 
СКД. Разность группировок одного уровня в верхнюю группировку. Как?
0 NastiaVlasenko
 
18.02.16
13:43
Добрый день. Как на СКД можно получить итог по группировке для ресурса как разность итогов по другой группировке. Т.е. есть приход денежных средств, есть расход, в верхнюю группировку хочу получить приход минус расход. Через функции общего модуля не нравится, т.к. потом проблемы по Общим итогам. Думаю, что поможет выражение в ресурсе, но не получается прописать.

На скрине все гораздо понятней, чем я смогла описать в тексте.
http://i-fotki.info/19/bff9d6f1f25b00f0c9aa5853fa62003ec16925238451868.png.html
1 asady
 
18.02.16
13:58
(0) в вычисляемые поля добавь поле и формулу
2 also
 
18.02.16
14:12
Не очень понял, куда этот результат нужно запихнуть? На вышестоящую группировку?
3 NastiaVlasenko
 
18.02.16
14:13
(2) Да
4 NastiaVlasenko
 
18.02.16
14:14
(1) В формуле у меня проблема, не получается ее написать
5 also
 
18.02.16
14:15
(3) Приход/Расход - это одна группировка?
6 NastiaVlasenko
 
18.02.16
14:16
(5) Да
7 also
 
18.02.16
14:19
Конечно не знаю Вашу структуру и как у вас приход от расхода отличается, но попробуйте примерно так:

Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(План)", "ПриходРасход", "ПриходРасход = ""Приход""")) - Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(План)", "ПриходРасход", "ПриходРасход = ""Расход"""))
8 NastiaVlasenko
 
18.02.16
14:29
(7) Пробую, пока не вышло, и не ругается и не считает, постараюсь понять, что нужно поменять для меня.
9 also
 
18.02.16
14:31
(8) ну третий параметр надо сделать корректный. Там надо указать корректный отбор записей.
10 NastiaVlasenko
 
18.02.16
14:37
(9) "ПриходРасход = ""Приход""" - значит, что вычисляем выражение для всех группировок "ПриходРасход" с наименованием "Приход"? если так, то все правильно
11 also
 
18.02.16
14:39
(10) Нет, это я просто из головы взял условие отбора. А Вам нужно реальное условие для того, чтобы отобобрать все записи с типом Приход. Я не знаю, что у Вас такое ПриходРасход (какого типа). Может перечисление, может еще чего
12 asady
 
18.02.16
14:48
(10)
1. в вычисляемых полях добавляй поле "Дельта"
2 в ресурсах добавь поле дельта и формулу к
Сумма("Приход") - Сумма("Расход")
13 NastiaVlasenko
 
18.02.16
14:58
(11) Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(План)", "ПриходРасход", "ПриходРасход = "ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПриходРасход.Приход)")) -
Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(План)", "ПриходРасход", "ПриходРасход = "ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПриходРасход.Расход)"))
, пробую так, но ругается на использование агрегатных функций
14 also
 
18.02.16
15:05
(13) ну если у тебя простая сумма в формулах, то реально проще сделать как (12). А так ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПриходРасход.Приход) нельзя писать. Можно сделать параметр &Приход недоступный для пользователя и заполнять его значением перечисления. и написать "ПриходРасход = &Приход"
15 NastiaVlasenko
 
18.02.16
15:09
Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаПлан)", "ПриходРасход", "ПриходРасход = ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПриходРасход.Приход)")) -
Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаПлан)", "ПриходРасход", "ПриходРасход = ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПриходРасход.Расход)"))


Получилось вот так, огромное спасибо, надо разбираться мне с Вычислить выражение с группировкой массив...
16 also
 
18.02.16
15:10
(15) эээ.. ну значит можно ;)
17 NastiaVlasenko
 
18.02.16
15:13
(16) я выше просто "ЗНАЧЕНИЕ..." в ковычки брала, из-за этого видимо.., спасибо Вам большое..
2 + 2 = 3.9999999999999999999999999999999...