При разработке аналитических отчетов в 1С разработчики часто сталкиваются с ситуацией, когда отчет вместо суммарного объема продаж за месяц выводит некорректные значения или данные единичных документов. Проанализируем, почему возникают такие ошибки и как правильно настроить схему компоновки данных (СКД) для получения точных показателей продаж в разрезе контрагентов и месяцев.
Выясним основные технические ошибки, которые приводят к искажению данных при формировании ежемесячных отчетов по оборотам:
ОстаткиИОбороты вместо таблицы Обороты. Если задача состоит исключительно в вычислении проданного объема или суммы за период, таблица остатков является избыточной и усложняет запрос.СУММА(), компоновка данных выведет случайное значение одной из строк выборки вместо общей суммы.Рассмотри структуру запроса. Для получения сводных показателей за месяц необходимо обращаться к виртуальной таблице Обороты регистра накопления. В параметрах виртуальной таблицы укажем периодичность Месяц или воспользуемся функцией языка запросов НАЧАЛОПЕРИОДА().
Пример корректного запроса для схемы компоновки данных:
ВЫБРАТЬ
ПотолкиОбороты.Заказчик КАК Заказчик,
НАЧАЛОПЕРИОДА(ПотолкиОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
ПотолкиОбороты.ПлощадьОборот КАК ПлощадьПродаж
ИЗ
РегистрНакопления.Потолки.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПотолкиОбороты
Функция НАЧАЛОПЕРИОДА(Период, МЕСЯЦ) приведет каждую дату движения регистра к первому числу соответствующего месяца, что позволит правильно сгруппировать данные в колонках отчета.
Для того чтобы платформа 1С автоматически суммировала значения объема или площади по всем документам за месяц, выполним следующие настройки на схеме компоновки данных:
ПлощадьПродаж в список ресурсов.СУММА(ПлощадьПродаж).ПериодМесяц укажем роль Период и установим тип заполнения. Это обеспечит правильную хронологическую сортировку месяцев в отчете.Для построения отчета, где в строках выводится клиент (дилер), а в колонках — месяцы с итоговыми значениями объемов, проанализируем настройку вкладки «Настройки» в СКД:
Заказчик.ПериодМесяц.ПериодМесяц настроим формат даты (например, ДФ='ММММ гггг гг.'), чтобы заголовки колонок отображались в удобном виде (например, «Август 2023 г.»).Правильный выбор виртуальной таблицы Обороты, корректная группировка периода через НАЧАЛОПЕРИОДА и регистрация числовых показателей в качестве ресурсов СКД гарантируют точный расчет суммарных объемов продаж за каждый месяц.