Группировка данных в отчётах: настройки, итоги и СКД
Содержание
Чтобы сгруппировать поле в стандартном отчёте, откройте Настройки → переключитесь в вид Расширенный → вкладка Структура и добавьте группировку по нужному полю. В собственном отчёте на базе СКД то же самое делается на вкладке Настройки схемы компоновки данных. Строки с одинаковым значением поля при этом сворачиваются в одну группу с подытогом.
Разница в том, где вы работаете. Готовый отчёт конфигурации (ОСВ, «Продажи», «Остатки товаров») настраивается пользователем прямо в форме — программирование не нужно. Свой отчёт с произвольной группировкой собирается в системе компоновки данных через Конфигуратор или расширение. Ниже — оба способа, плюс итоги, оформление и разбор типовых сбоев.
Что такое группировка и зачем она нужна
Группировка объединяет детальные строки по совпадающему значению выбранного поля и показывает по каждой группе итог. Вместо тысячи строк продаж вы получаете свод: по менеджерам, по складам, по номенклатуре, по месяцам.
Поле, по которому идёт объединение, в терминах СКД называется измерением группировки. Числовые поля, которые суммируются внутри группы (сумма, количество, себестоимость), — это ресурсы. Их и показывают подытоги.
Группировки можно вкладывать друг в друга. Классическая структура отчёта по продажам:
- 🗂️ первый уровень —
Склад; - 📁 второй уровень —
Менеджер; - 📄 третий уровень —
Номенклатура; - 💰 ресурс —
Сумма продажис итогом на каждом уровне.
Порядок уровней задаёт логику свёртки. Поменяете местами Склад и Менеджер — получите другой разрез тех же данных без пересбора отчёта.
Как это выглядит на цифрах. Были детальные строки продаж:
| Склад | Менеджер | Сумма |
|---|---|---|
| Основной | Петров | 12 000 |
| Основной | Петров | 8 000 |
| Основной | Сидоров | 5 000 |
| Запасной | Сидоров | 15 000 |
После группировки по складу и менеджеру отчёт свернёт повторы и посчитает подытоги: по складу «Основной» выйдет 25 000 (Петров 20 000 + Сидоров 5 000), по складу «Запасной» — 15 000, общий итог — 40 000. Четыре строки превращаются в компактный свод, где видно, кто и сколько принёс на каждом складе.
Группировка в стандартных отчётах конфигурации
Большинство типовых отчётов в БП 3.0, ЗУП 3.1 и УТ 11 уже содержат готовую структуру. Менять её нужно, когда стандартный разрез не подходит.
Порядок действий:
- Откройте отчёт и сформируйте его хотя бы раз, чтобы увидеть данные.
- Нажмите
Настройкив командной панели отчёта. - Если видите только простые поля — переключите вид настроек на Расширенный (переключатель вида обычно в правом верхнем углу формы настроек).
- Перейдите на вкладку
Структура. Здесь показано дерево группировок отчёта. - Встаньте на узел, внутрь которого добавляете уровень, и нажмите
Добавить(или двойным щелчком по пустой строке дерева). - В открывшемся окне выберите поле группировки и
Тип— для обычного справочника это Без иерархии. - Нажмите
Завершить редактированиеиСформировать.
Поля для группировки берутся из набора данных отчёта. Если нужного поля нет в списке, значит отчёт его не выгружает — в типовом отчёте добавить произвольное поле нельзя, нужен универсальный отчёт или своя схема.
Чтобы убрать лишний уровень, снимите галочку у группировки в дереве Структура — отчёт перестроится без неё, а настройка сохранится на будущее.
Группировка по дате и периоду
Группировка по полю с датой по умолчанию даёт отдельную строку на каждую календарную дату. Чтобы свернуть в месяцы или кварталы, в свойствах группировки задайте тип дополнения периода (День / Месяц / Квартал / Год) и границы периода. Тогда строки появятся даже за те месяцы, где движений не было, — это удобно для динамики.
Универсальный отчёт: группировка без программирования
Когда в типовом отчёте нужного разреза нет, выручает Отчёты → Универсальный отчёт. Он строит выборку по любому документу, справочнику или регистру и позволяет группировать произвольно.
- Откройте универсальный отчёт.
- В шапке выберите источник: тип данных (например,
Регистр накопления), имя объекта и таблицу (Обороты,Остатки). - Нажмите
Настройки→ вкладкаСтруктура. - Добавьте нужные группировки так же, как в стандартном отчёте.
- На вкладке
Поля и сортировкиотметьте показываемые ресурсы, на вкладкеОтборы— условия.
Готовую настройку универсального отчёта сохраните через Сохранить вариант отчёта — она появится в списке вариантов и не потеряется.
Группировка полей в системе компоновки данных (СКД)
Если нужен полностью свой отчёт, его собирают в схеме компоновки данных. Создаётся она в Конфигураторе или в расширении конфигурации (чтобы не менять типовую). Правьте типовую конфигурацию только через расширение — иначе потеряете возможность автоматически обновляться.
Коротко путь такой:
- В дереве конфигурации добавьте объект
Отчёт, откройте его и создайте основную схему компоновки данных. - На вкладке
Наборы данныхзадайте запрос — конструктором или текстом. Поля запроса станут доступными полями отчёта. - На вкладке
Ресурсывыберите числовые поля и функцию агрегации (Сумма,Количество,Среднее). Это те итоги, что увидит пользователь. - Перейдите на вкладку
Настройки— здесь строится структура. - В дереве структуры правой кнопкой →
Новая группировка. В поле выбора укажите измерение и тип (Без иерархиидля обычного справочника,Иерархия— если хотите разворачивать группы-родители). - Вложенную группировку добавляйте внутрь уже существующей — так получаются уровни.
- Пустая группировка без поля означает детальные записи — строки без свёртки.
Тип группировки в СКД определяет свёртку по ссылочному полю:
| Тип | Что делает | Когда брать |
|---|---|---|
| Без иерархии | Плоский список значений | Обычные справочники (Менеджеры, Склады) |
| Иерархия | Разворачивает родителей и подчинённые | Номенклатура и статьи с папками |
| Только иерархии | Показывает лишь родительские узлы | Свод по группам номенклатуры |
Итоги и функции агрегации по группам
Подытог считается по ресурсам. Если итогов по группе не видно — поле не объявлено ресурсом. В СКД это чинится на вкладке Ресурсы: добавьте поле и выберите функцию.
Доступные функции агрегации:
- Сумма() — складывает значения (суммы, количества). Самый частый случай.
- Количество() — считает число строк в группе. Для уникальных значений —
Количество(Различные Поле). - Среднее() — среднее по группе; удобно для средней цены или среднего чека.
- Максимум() / Минимум() — крайние значения, например последняя дата операции.
В графе Рассчитывать по можно указать, по каким именно группировкам считать ресурс. Пример: выручку суммируем на всех уровнях, а поле «Доля в обороте» имеет смысл считать только по верхней группировке — иначе доли внутри каждой группы сложатся в 100 % и свод потеряет смысл. Указав в Рассчитывать по только верхний уровень, вы получите долю каждой группы в общем обороте.
Ещё одна деталь — порядок строк внутри группы. Он не связан со структурой уровней и задаётся отдельно: на вкладке сортировок или прямо в свойствах группировки через поле Сортировка. Чаще всего сортируют по ресурсу по убыванию, чтобы самые крупные значения оказались сверху.
Функция Среднее по группе — это среднее детальных строк, а не «сумма ресурса делить на количество групп». Если нужна именно средняя цена как «выручка / количество», заведите вычисляемое поле Выручка / Количество на вкладке Вычисляемые поля, а не функцию Среднее по цене.
Расположение подытогов настраивается: в свойствах группировки параметр Расположение итогов переключает итог в начало группы, в конец или убирает совсем. Общие итоги отчёта регулируются отдельно — параметрами расположения общих итогов по вертикали и горизонтали в настройках.
Условное оформление сгруппированных строк
Чтобы итоговые строки или выбивающиеся значения бросались в глаза, используют условное оформление. Оно задаётся и в стандартном отчёте (вкладка Условное оформление в расширенных настройках), и в СКД (одноимённая вкладка настроек).
Элемент оформления состоит из трёх частей:
Оформление— что меняем: цвет фона, цвет текста, шрифт, рамку, формат числа.Условие— когда применять: например,Сумма продажименьше0илиРентабельностьменьше10.Оформляемые поля— к каким колонкам применить. Оставите пустым — оформится вся строка.
Типовой приём: подсветить красным фоном строки с отрицательной суммой и выделить жирным строки группировки верхнего уровня. Так свод читается без вчитывания в цифры.
Оформление можно привязать не ко всей строке, а к конкретной группировке. В свойствах элемента оформления есть поле выбора группировки — укажите, например, верхний уровень Склад, и заливка применится только к строкам-итогам складов, не трогая детализацию. Это разводит визуально уровни свода: итоги складов — цветом, менеджеры и номенклатура — обычным шрифтом.
Если оформление не срабатывает, проверьте, что в Оформляемые поля указано поле, которое реально выводится в отчёт, а условие сравнивает поле того же типа (число с числом, дату с датой).
Частые ошибки при группировке и как их починить
Отдельная частая причина пустого отчёта — отбор, заданный на другой вкладке. Группировка ни при чём: если в Отборах стоит условие, под которое не попадает ни одна запись, свод будет пустым при любой структуре.
Частые вопросы
Можно ли сгруппировать поле в типовом отчёте без программирования?
Настройки, переключитесь в расширенный вид и добавьте группировку на вкладке Структура. Конфигуратор для этого не нужен.Чем группировка в СКД отличается от группировки в стандартном отчёте?
Почему по группе не считаются итоги?
Ресурсы и выберите функцию агрегации. Без этого отчёт покажет значения в строках, но без подытогов.Как сгруппировать отчёт сразу по нескольким полям?
Как вывести только итоги по группам, без детальных строк?
Сохранится ли настроенная группировка?
Сохранить вариант отчёта — она появится в списке вариантов и будет доступна при следующем открытии.