Группировка данных в отчётах: настройки, итоги и СКД

· 9 мин

Содержание

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

Разница в том, где вы работаете. Готовый отчёт конфигурации (ОСВ, «Продажи», «Остатки товаров») настраивается пользователем прямо в форме — программирование не нужно. Свой отчёт с произвольной группировкой собирается в системе компоновки данных через Конфигуратор или расширение. Ниже — оба способа, плюс итоги, оформление и разбор типовых сбоев.

Что такое группировка и зачем она нужна

Группировка объединяет детальные строки по совпадающему значению выбранного поля и показывает по каждой группе итог. Вместо тысячи строк продаж вы получаете свод: по менеджерам, по складам, по номенклатуре, по месяцам.

Поле, по которому идёт объединение, в терминах СКД называется измерением группировки. Числовые поля, которые суммируются внутри группы (сумма, количество, себестоимость), — это ресурсы. Их и показывают подытоги.

Группировки можно вкладывать друг в друга. Классическая структура отчёта по продажам:

  • 🗂️ первый уровень — Склад;
  • 📁 второй уровень — Менеджер;
  • 📄 третий уровень — Номенклатура;
  • 💰 ресурс — Сумма продажи с итогом на каждом уровне.

Порядок уровней задаёт логику свёртки. Поменяете местами Склад и Менеджер — получите другой разрез тех же данных без пересбора отчёта.

Как это выглядит на цифрах. Были детальные строки продаж:

СкладМенеджерСумма
ОсновнойПетров12 000
ОсновнойПетров8 000
ОсновнойСидоров5 000
ЗапаснойСидоров15 000

После группировки по складу и менеджеру отчёт свернёт повторы и посчитает подытоги: по складу «Основной» выйдет 25 000 (Петров 20 000 + Сидоров 5 000), по складу «Запасной» — 15 000, общий итог — 40 000. Четыре строки превращаются в компактный свод, где видно, кто и сколько принёс на каждом складе.

Группировка в стандартных отчётах конфигурации

Большинство типовых отчётов в БП 3.0, ЗУП 3.1 и УТ 11 уже содержат готовую структуру. Менять её нужно, когда стандартный разрез не подходит.

Порядок действий:

  1. Откройте отчёт и сформируйте его хотя бы раз, чтобы увидеть данные.
  2. Нажмите Настройки в командной панели отчёта.
  3. Если видите только простые поля — переключите вид настроек на Расширенный (переключатель вида обычно в правом верхнем углу формы настроек).
  4. Перейдите на вкладку Структура. Здесь показано дерево группировок отчёта.
  5. Встаньте на узел, внутрь которого добавляете уровень, и нажмите Добавить (или двойным щелчком по пустой строке дерева).
  6. В открывшемся окне выберите поле группировки и Тип — для обычного справочника это Без иерархии.
  7. Нажмите Завершить редактирование и Сформировать.

Поля для группировки берутся из набора данных отчёта. Если нужного поля нет в списке, значит отчёт его не выгружает — в типовом отчёте добавить произвольное поле нельзя, нужен универсальный отчёт или своя схема.

Чтобы убрать лишний уровень, снимите галочку у группировки в дереве Структура — отчёт перестроится без неё, а настройка сохранится на будущее.

Группировка по дате и периоду

Группировка по полю с датой по умолчанию даёт отдельную строку на каждую календарную дату. Чтобы свернуть в месяцы или кварталы, в свойствах группировки задайте тип дополнения периода (День / Месяц / Квартал / Год) и границы периода. Тогда строки появятся даже за те месяцы, где движений не было, — это удобно для динамики.

Универсальный отчёт: группировка без программирования

Когда в типовом отчёте нужного разреза нет, выручает Отчёты → Универсальный отчёт. Он строит выборку по любому документу, справочнику или регистру и позволяет группировать произвольно.

  1. Откройте универсальный отчёт.
  2. В шапке выберите источник: тип данных (например, Регистр накопления), имя объекта и таблицу (Обороты, Остатки).
  3. Нажмите Настройки → вкладка Структура.
  4. Добавьте нужные группировки так же, как в стандартном отчёте.
  5. На вкладке Поля и сортировки отметьте показываемые ресурсы, на вкладке Отборы — условия.

Готовую настройку универсального отчёта сохраните через Сохранить вариант отчёта — она появится в списке вариантов и не потеряется.

Группировка полей в системе компоновки данных (СКД)

Если нужен полностью свой отчёт, его собирают в схеме компоновки данных. Создаётся она в Конфигураторе или в расширении конфигурации (чтобы не менять типовую). Правьте типовую конфигурацию только через расширение — иначе потеряете возможность автоматически обновляться.

Коротко путь такой:

  1. В дереве конфигурации добавьте объект Отчёт, откройте его и создайте основную схему компоновки данных.
  2. На вкладке Наборы данных задайте запрос — конструктором или текстом. Поля запроса станут доступными полями отчёта.
  3. На вкладке Ресурсы выберите числовые поля и функцию агрегации (Сумма, Количество, Среднее). Это те итоги, что увидит пользователь.
  4. Перейдите на вкладку Настройки — здесь строится структура.
  5. В дереве структуры правой кнопкой → Новая группировка. В поле выбора укажите измерение и тип (Без иерархии для обычного справочника, Иерархия — если хотите разворачивать группы-родители).
  6. Вложенную группировку добавляйте внутрь уже существующей — так получаются уровни.
  7. Пустая группировка без поля означает детальные записи — строки без свёртки.

Тип группировки в СКД определяет свёртку по ссылочному полю:

ТипЧто делаетКогда брать
Без иерархииПлоский список значенийОбычные справочники (Менеджеры, Склады)
ИерархияРазворачивает родителей и подчинённыеНоменклатура и статьи с папками
Только иерархииПоказывает лишь родительские узлыСвод по группам номенклатуры
Какой тип группировки выбрать для поля?

Итоги и функции агрегации по группам

Подытог считается по ресурсам. Если итогов по группе не видно — поле не объявлено ресурсом. В СКД это чинится на вкладке Ресурсы: добавьте поле и выберите функцию.

Доступные функции агрегации:

  • Сумма() — складывает значения (суммы, количества). Самый частый случай.
  • Количество() — считает число строк в группе. Для уникальных значений — Количество(Различные Поле).
  • Среднее() — среднее по группе; удобно для средней цены или среднего чека.
  • Максимум() / Минимум() — крайние значения, например последняя дата операции.

В графе Рассчитывать по можно указать, по каким именно группировкам считать ресурс. Пример: выручку суммируем на всех уровнях, а поле «Доля в обороте» имеет смысл считать только по верхней группировке — иначе доли внутри каждой группы сложатся в 100 % и свод потеряет смысл. Указав в Рассчитывать по только верхний уровень, вы получите долю каждой группы в общем обороте.

Ещё одна деталь — порядок строк внутри группы. Он не связан со структурой уровней и задаётся отдельно: на вкладке сортировок или прямо в свойствах группировки через поле Сортировка. Чаще всего сортируют по ресурсу по убыванию, чтобы самые крупные значения оказались сверху.

Функция Среднее по группе — это среднее детальных строк, а не «сумма ресурса делить на количество групп». Если нужна именно средняя цена как «выручка / количество», заведите вычисляемое поле Выручка / Количество на вкладке Вычисляемые поля, а не функцию Среднее по цене.

Расположение подытогов настраивается: в свойствах группировки параметр Расположение итогов переключает итог в начало группы, в конец или убирает совсем. Общие итоги отчёта регулируются отдельно — параметрами расположения общих итогов по вертикали и горизонтали в настройках.

Условное оформление сгруппированных строк

Чтобы итоговые строки или выбивающиеся значения бросались в глаза, используют условное оформление. Оно задаётся и в стандартном отчёте (вкладка Условное оформление в расширенных настройках), и в СКД (одноимённая вкладка настроек).

Элемент оформления состоит из трёх частей:

  1. Оформление — что меняем: цвет фона, цвет текста, шрифт, рамку, формат числа.
  2. Условие — когда применять: например, Сумма продажи меньше 0 или Рентабельность меньше 10.
  3. Оформляемые поля — к каким колонкам применить. Оставите пустым — оформится вся строка.

Типовой приём: подсветить красным фоном строки с отрицательной суммой и выделить жирным строки группировки верхнего уровня. Так свод читается без вчитывания в цифры.

Оформление можно привязать не ко всей строке, а к конкретной группировке. В свойствах элемента оформления есть поле выбора группировки — укажите, например, верхний уровень Склад, и заливка применится только к строкам-итогам складов, не трогая детализацию. Это разводит визуально уровни свода: итоги складов — цветом, менеджеры и номенклатура — обычным шрифтом.

Если оформление не срабатывает, проверьте, что в Оформляемые поля указано поле, которое реально выводится в отчёт, а условие сравнивает поле того же типа (число с числом, дату с датой).

Частые ошибки при группировке и как их починить

Диагностика: выберите симптом

Отдельная частая причина пустого отчёта — отбор, заданный на другой вкладке. Группировка ни при чём: если в Отборах стоит условие, под которое не попадает ни одна запись, свод будет пустым при любой структуре.

Частые вопросы

Можно ли сгруппировать поле в типовом отчёте без программирования?
Да. В стандартных отчётах откройте Настройки, переключитесь в расширенный вид и добавьте группировку на вкладке Структура. Конфигуратор для этого не нужен.
Чем группировка в СКД отличается от группировки в стандартном отчёте?
Механизм один и тот же — система компоновки данных. В типовом отчёте вы меняете готовую структуру и ограничены полями, которые отчёт выгружает. В своей схеме вы сами задаёте запрос, ресурсы и любые поля для группировки.
Почему по группе не считаются итоги?
Поле, которое должно суммироваться, не является ресурсом. В СКД добавьте его на вкладку Ресурсы и выберите функцию агрегации. Без этого отчёт покажет значения в строках, но без подытогов.
Как сгруппировать отчёт сразу по нескольким полям?
Добавьте группировки друг в друга: верхний уровень — первое поле, внутрь него — второе, и так далее. Порядок уровней задаёт разрез свёртки, его можно менять без пересбора отчёта.
Как вывести только итоги по группам, без детальных строк?
Не добавляйте внутрь группировки уровень детальных записей (группировку без поля). Тогда отчёт покажет только строки групп с подытогами.
Сохранится ли настроенная группировка?
Да. В стандартном и универсальном отчётах сохраните настройку через Сохранить вариант отчёта — она появится в списке вариантов и будет доступна при следующем открытии.