|
СКД: как суммировать в итогах результаты группировок, а не данные строк? | ☑ | ||
---|---|---|---|---|
0
cube033
04.12.14
✎
05:39
|
Введение (можно не читать)):
Не совпало желаемое с действительным при создании отчета. А именно потребовалась детализация по полю, не являющемуся реквизитом регистра. Отчет нужен по остаткам и оборотам. Если не задавать периодичность, то получается замечательный отчет сгруппированный изначально по всем реквизитам. Но в моем случае поле нужно вытянуть из регистратора, а значит нужно установить периодичность: регистратор. Тут-то и появляется куча строк с одинаковыми реквизитами, но разными остатками (на разные даты). Возникает вопрос, как группировать записи, а именно, что делать с остатками? Сумма, среднее, максимум - все это не подходит (если у вас позавчера было 10 яблок, вчера 11 яблок, а сегодня 9 - это не значит, что в итоге у вас 30 яблок). Взял отдельно обороты, отдельно остатки и склеил их, получив одинаковый остаток, для одинаковых реквизитов. В итоге могу группировать, используя максимум (минимум, среднее) для остатков. Вопрос (а вот тут нужно читать): Структура результата запроса СКД такова: У ООО "Фруктовый рай" купили 5 зеленых яблок, конечный остаток 9 зеленых яблок; У ЗАО "Плодовый Ад" купили 4 зеленых яблока,конечный остаток 9 зеленых яблок; У ООО "Фруктовый рай" купили 7 красных яблок, конечный остаток 7 красных яблок; Таблицы в отчете будет две и в первой нет ни слова о контрагентах, поэтому она должна выглядеть так купили 9 зеленых яблок ,конечный остаток 9 зеленых яблок; купили 7 красных яблок, конечный остаток 7 красных яблок; Это сделать не трудно обороты суммируем, а по остаткам берем максимум Проблема в итогах по этой таблице. Должно получится так: купили 16 яблок, конечный остаток 16 яблок; По умолчанию получится так: купили 16 яблок, конечный остаток 9 яблок; - так как берется максимум по остаткам. Можно использовать "Рассчитывать по" и в итогах взять сумму остатков, тогда получится так: купили 16 яблок, конечный остаток 25 яблок; так как суммируются все строки. Вопрос: как суммировать результаты группировок? |
|||
1
Cube
04.12.14
✎
05:58
|
(0) Опять ты... :)
"Это сделать не трудно обороты суммируем, а по остаткам берем максимум" Мухаха))) Весело будет, когда у тебя по факту остаток 0, а отчет покажет 9, т.к. 9 > 0... Всё, что тебе нужно, это взять одну единственную таблицу "ОстаткиИОбороты" и поставить у неё периодичность "Авто". |
|||
2
cube033
04.12.14
✎
07:03
|
Авто (при использовании реквизитов регистратора) в итоге срабатывает как при периодичности "Регистратор". Ну а дальше всё, как описано в разделе "можно не читать".
Итог: купили 100500 зеленых яблок ,конечный остаток Дофига зеленых яблок; купили БольшеЧемНужно красных яблок, конечный остаток СлишкомМного красных яблок; "Мухаха))) Весело будет, когда у тебя по факту остаток 0, а отчет покажет 9, т.к. 9 > 0..." Если остаток 0, то все значения (для данного сочетания реквизитов) будут 0. Максимум из 0;0;0;0;0; будет 0)) |
|||
3
Cube
04.12.14
✎
07:29
|
(2) А, теперь понял, что ты хочешь... А если в СКД на закладке "Ресурсы" указать поля, по которым нужно рассчитывать итог? Допустим, укажешь ты "Регистратор" и все остальные поля (кроме реквизитов полей), СКД для реквизитов выбранных полей будет считать итоги?
|
|||
4
Cube
04.12.14
✎
07:31
|
Ну или, как вариант, сделай две СКД: одну по-умолчанию, другую - для расшифровки...
|
|||
5
cube033
04.12.14
✎
13:17
|
Задача оказывается решается довольно просто. Я почему-то думал, что обязательно связывать наборы данных. Теперь я просто использую 2 набора данных. Один для остатков и оборотов без детализации по регистратору, второй только по оборотам с регистратором.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |