Книга: Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных
Назад: Возможность отбора уровней иерархии в группировке
Дальше: Группировки по ресурсам

Группировки-периоды

Часто в отчетах требуется вывести данные за период с промежуточными итогами по дням, месяцам, полугодиям и т. п. Для этого нужно сгруппировать данные по этим периодам. При разработке отчета в схеме компоновки данных нужно добавить в набор доступных полей поля-периоды и создать группировки по этим полям в настройках отчета. Затем вывести в отчет поля ресурсов отчета, чтобы для каждой группировки были посчитаны промежуточные итоги.

Для примера рассмотрим Отчет по продажам. Данные в нем сгруппированы по периодам Месяц и День.

Чтобы добавить поля-периоды в набор данных, нужно задать периодичность виртуальной таблицы, из которой извлекаются данные. В данном случае это таблица Продажи.Обороты. Откроем конструктор запроса и вызовем диалог параметров виртуальной таблицы. Для этого в списке таблицы нужно нажать кнопку Параметры виртуальной таблицы (рис. 3.257).

Рис. 3.257. Выбор периодичности виртуальной таблицы

В открывшемся диалоге можно выбрать различные значения параметра Периодичность. В зависимости от выбранной периодичности виртуальной таблицы становятся доступными различные поля-периоды. В данном отчете выбрана периодичность Авто. Это наиболее универсальный вариант. Раскрыв список полей таблицы, мы можем перенести в список полей запроса следующие поля (рис. 3.258).

Рис. 3.258. Доступные поля-периоды виртуальной таблицы с периодичностью «Авто»

В отчете выбраны поля-периоды ПериодДень и ПериодМесяц. При включенном свойстве Автозаполнение () платформа заполнит в роли полей свойство Период. На основании этой информации будут рассчитываться итоги по этим полям.

Затем в структуру отчета добавляются группировки по полям-периодам. В группировку Контрагент добавляется группировка по полю ПериодМесяц, и в нее вкладывается группировка ПериодДень. Группировка ПериодДень также добавляется в точки диаграммы, но ее для наглядности лучше отключить. В отчет выводится ресурс Стоимость для вывода итога по группировкам (рис. 3.259).

Рис. 3.259. Добавление группировок периодов в структуру отчета

В результате данные в отчете сгруппированы по дням и месяцам, и по каждому периоду выводится промежуточный итог (рис. 3.260).

Рис. 3.260. Результат отчета

Заметим, что в отчетах можно выводить группировки-периоды, не получая при этом данных из родительских группировок. Например, группировку Регистратор можно использовать без ее родительской группировки Секунда, так как система компоновки данных сама подставит при компоновке нужные родительские поля-периоды, а внешне в отчете это никак не отразится. Исключение составляют отчеты, в которых получаются остатки по периодам. В этих случаях для подсчета правильных остатков при получении поля-периода в запросе должно присутствовать его родительское поле-период.

Назад: Возможность отбора уровней иерархии в группировке
Дальше: Группировки по ресурсам