|
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) А, теперь понял, что ты хочешь... А если в СКД на закладке "Ресурсы" указать поля, по которым нужно рассчитывать итог? Допустим, укажешь ты "Регистратор" и все остальные поля (кроме реквизитов полей), СКД для реквизитов выбранных полей будет считать итоги?
|
|
|
5
cube033
04.12.14
✎
13:17
|
Задача оказывается решается довольно просто. Я почему-то думал, что обязательно связывать наборы данных. Теперь я просто использую 2 набора данных. Один для остатков и оборотов без детализации по регистратору, второй только по оборотам с регистратором.
|
|