![]() |
![]() |
![]() |
|
Неправильный расчет общих итогов в СКД | ☑ | ||
---|---|---|---|---|
0
daim-1
18.05.12
✎
16:02
|
В СКД есть выражение для расчета ресурса, назовем его "Сумма3". Выглядит так:
ВЫБОР КОГДА Сумма(Сумма1)-Сумма(Сумма2) > 0 ТОГДА Сумма(Сумма1)-Сумма(Сумма2) ИНАЧЕ 0 КОНЕЦ Рассчитывается по всему, чему только можно, то есть галочек в "Рассчитывать по" никаких нет. По группировкам результаты корректны, но в общих итогах результат равен нулю, потому что общий итог по полю "Сумма1" меньше общего итога по полю "Сумма2", хотя, разумеется, в группировках "Сумма3" больше нуля встречается множество раз. То есть СКД сразу применяет эту формулу и для общих итогов, а не рассчитывает их по группировкам. Спрашивается, как сделать так, чтобы получить корректный результат по ресурсу "Сумма3" в общих итогах. |
|||
1
Bober
18.05.12
✎
16:03
|
(0) всего не видно, но сходу можно предложить воткнуть другой алгоритм расчета общего итога по этому ресурсу (Рассчитывать по общие итоги)
|
|||
2
daim-1
18.05.12
✎
16:06
|
Да нет же!
|
|||
3
Fragster
гуру
18.05.12
✎
16:07
|
(2) да да же. формула на уровне итогов срабатывает
|
|||
4
daim-1
18.05.12
✎
16:11
|
(3) А конкретнее?
|
|||
5
Fragster
гуру
18.05.12
✎
16:17
|
для сумма3 функция срабатывает по результатам общих итогов для сумма1 и сумма2, а не по суммам результатов нижележащих группировок
|
|||
6
daim-1
18.05.12
✎
16:21
|
"То есть СКД сразу применяет эту формулу и для общих итогов, а не рассчитывает их по группировкам." - я это же и писал вообще-то. А вопрос именно в том как рассчитать по группировкам, а потом просуммировать.
|
|||
7
Fragster
гуру
18.05.12
✎
16:26
|
(6)->(1)
|
|||
8
daim-1
18.05.12
✎
16:27
|
(7)>(2)
:) |
|||
9
Bober
18.05.12
✎
16:28
|
Прервать;
|
|||
10
daim-1
18.05.12
✎
16:31
|
Вот данные какие: итог по "Сумма1" = 236000, итог по "Сумма2" = 370000, итог по "Сумма3" = 0, а должно быть 150000. Формулу сугубо для итогов придумать не могу пока. Надеюсь на помощь, но пока безрезультатно.
|
|||
11
Bober
18.05.12
✎
16:48
|
"а должно быть" - да?
Сумма(Сумма1)-Сумма(Сумма2) > 0 ... иначе 0 236000 - 370000 |
|||
12
daim-1
18.05.12
✎
16:53
|
Представь себе, да.
Поскольку в группировках "Сумма3" не равна нулю и набирается на пресловутых 150000. Я вот и спрашиваю, как сделать так, чтобы СКД не применяла формулу для итогов, а суммировала результаты по группировкам. |
|||
13
daim-1
18.05.12
✎
16:56
|
Логика, кстати, подсказывает, что "Сумма3", рассчитываемая по такой формуле, может быть произвольной от нуля до "Сумма1".
|
|||
14
Hmster
18.05.12
✎
17:04
|
ВЫБОР КОГДА Сумма(Сумма1 - Сумма2) > 0 ТОГДА Сумма(Сумма1 - Сумма2) ИНАЧЕ 0 КОНЕЦ
ВЫБОР КОГДА Сумма(Сумма1 - Сумма2) > 0 ТОГДА Сумма(Сумма1) - Сумма(Сумма2) ИНАЧЕ 0 КОНЕЦ |
|||
15
Hmster
18.05.12
✎
17:04
|
можно еще много вариантов придумать
|
|||
16
Fragster
гуру
18.05.12
✎
17:08
|
(12) да это всё фигня. если уровней группировок больше 1, то получается бардак.
|
|||
17
Fragster
гуру
18.05.12
✎
17:08
|
(16)+ на разных уровнях будет разная сумма
|
|||
18
Bober
18.05.12
✎
17:11
|
(12) добавь в ресурсы еще раз поле Сумма3 поставь галку Рассчитывать только по общие итоги, в выражении напиши СУММА(Сумма3)
|
|||
19
daim-1
18.05.12
✎
17:37
|
(18) это ведь непроверенный вариант, правда? Попробовал - ничего не изменилось.
|
|||
20
Bober
18.05.12
✎
18:46
|
нет, в сложных отчетах используется
|
|||
21
echo77
18.05.12
✎
19:39
|
Платформа какая? В 8.2.13 некоторых плюшек СКД нет, в 8.2.14 уже есть... называется ВычислитьВыражениеСГруппировкойМассив.
- Очень удобно, пользовался, реально помогла. В вашем случае советую, как уже было предложено, еще один ресурс для вашего поля завести с расчетом итогов по общие итоги и функцию Сумма(ВычислитьВыражениеСГруппировкойМассив("ВЫБОР КОГДА Сумма(Сумма1)-Сумма(Сумма2) > 0 ТОГДА Сумма(Сумма1)-Сумма(Сумма2) ИНАЧЕ 0 КОНЕЦ ")) почитать можно в справке и здесь: http://infostart.ru/public/86764/ |
|||
22
daim-1
21.05.12
✎
10:46
|
(21) Вот! Оно самое - "ВычислитьВыражениеСГруппировкойМассив". Идеально подошло, большое спасибо, echo77!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |