СКД: как суммировать в итогах результаты группировок, а не данные строк? #727665


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

В этой группе 1С