|
СКД - нужна помощь с агрегатными функциями, какая может так посчитать? | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
Живой Ископаемый
02.02.16
✎
01:05
|
См. скриншот
http://screencast.com/t/VDgpUPHF0h скажу заранее, для текущих группировок задачу я решил, но способом, который мне не нравится. Для чистоты эксперимента не буду его пока рассказывать. Подозреваю, что каким-то образом можно применить одну из функций СКД, типа Выразить или типа того, чтобы она посчитала значения ресурса только по определенной группировке, а не на суммировав этот ресурс по детальным записям. Подскажите, кто знает. |
||||||||||
1
swcid
02.02.16
✎
01:12
|
(0) Сделать 2 набора данных.
|
||||||||||
2
Asmody
02.02.16
✎
01:14
|
я не знаю всей твоей кухни, я бы сделал отдельный набор данных
|
||||||||||
3
Asmody
02.02.16
✎
01:14
|
вот, и коллега в (1) не против
|
||||||||||
4
Живой Ископаемый
02.02.16
✎
08:15
|
ок, сенкс...
и тогда два набора я смогу связать на нужных группировках, а не детальные записи, и тогда добъюсь чего хотел.. попробую. А стало быть просто агрегатные функции не позволят мне добиться желаемого |
||||||||||
5
extrim-style
02.02.16
✎
08:42
|
условное оформление - оформление текст "", условие СистемныеПоля.Уровень больше 1, оформляемое поле СуммаВозврата
|
||||||||||
6
extrim-style
02.02.16
✎
08:43
|
+(5) упс) не проснулся)
|
||||||||||
7
extrim-style
02.02.16
✎
08:47
|
(0) а почему в колонке СуммаВозврата больше группировок? она вырезана из другого отчета и не связана с данными слева?
|
||||||||||
8
Лефмихалыч
02.02.16
✎
08:57
|
(4) может и позволят, но тот, кто будет с этим разбираться потом, проклянет тебя. Ибо это будут крайне запутанные заклинания в ресурсах.
|
||||||||||
9
KuAl
02.02.16
✎
09:43
|
Вообще для таких целей используют ВычислитьВыражениеСГруппировкойМассив.
Как-то делал, работало. В СП есть пример: Максимум(ВычислитьВыражениеСГруппировкойМассив ("Сумма(СуммаОборот)", "Контрагент")); А потом суммируешь максимумы |
||||||||||
10
Живой Ископаемый
02.02.16
✎
09:56
|
2(9) Ну, если честно, я как раз и не понимаю как натянуть этот пример на мой случай
2(7) ты опять не проснулся. в ней ровно столько же группировок. но если тебя смутил оттенок в одной из ячеек, то это просто мои художества. |
||||||||||
11
DmitrO
02.02.16
✎
10:00
|
причем простой, без ВычислитьВыражениеСГруппировкойМассив и уж точно без агрегатных функций
Есть способ, сейчас расскажу |
||||||||||
12
Живой Ископаемый
02.02.16
✎
10:05
|
2(11) Внимаю
|
||||||||||
13
KuAl
02.02.16
✎
10:07
|
еще вариант:
вместо детальных, делаешь группировку по документам. И для каждой группировки описываешь выражение в ресурсах. для группировки признак схемы можно тогда написать что-то типа: Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(СуммаВозврата)", "Договор")) |
||||||||||
14
DmitrO
02.02.16
✎
10:17
|
суть в том что отнесение суммы возврата к документам это проблема, если не сказать - ошибка
надо создать такой исходный набор данных: (ПризнакСхемы, Договор, Документ, СуммаЗадолженности, СуммаВозврата), в котором будут записи двух типов: суммами задолженности, и с суммами возвратов. Записи возвратов должны отличаться, например тем что будет не заполнено поле документ, зато заполнена сумма возврата, а сумма задолженности в них будет =0. Это легко делается объединением (наборов или в одном запросе - не важно). Оба ресурса агрегируем обычной функцией Сумма. Чтобы скрыть записи возвратов по группировке Документ ставим отбор вывода (т.е. условие надо расположить не в отчете, а в самой группировке): Документ - Заполнено. Чтобы отбор не выводился перед каждой группировкой, в доп.настройках этой группировки ставим "Не выводить отбор" Да. |
||||||||||
15
Живой Ископаемый
02.02.16
✎
10:19
|
2(13,14) ок, я попробую, сенкс
|
||||||||||
16
Живой Ископаемый
09.02.16
✎
16:34
|
2(14) Да. переосмыслил запрос, сделал возвраты не соединением, а объединением, и все получилось. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |