К статье
Практический материал

Отчеты и Аналитика · 11 мин

Как сгруппировать поле в отчете 1С

Как сгруппировать поле в отчете 1С: настройка группировок в СКД, варианты в пользовательском режиме, иерархия, итоги, типичные ошибки и проверка результата.

Группировка поля в отчете 1С — это способ собрать строки с одинаковым значением в блоки и посчитать по ним итоги: суммы, количество, средние значения. Например, продажи можно сгруппировать по контрагентам, по месяцам или по складам, и вместо длинного плоского списка получить сводную картину с детализацией внутри каждого блока.

В большинстве типовых конфигураций (Бухгалтерия, Управление торговлей, ERP, ЗУП) отчеты построены на системе компоновки данных, поэтому группировка настраивается единообразно — через кнопку «Настройки» или «Изменить вариант». Пользователю не нужно программировать: достаточно выбрать нужное поле и указать, как оно должно участвовать в структуре отчета.

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

Что такое группировка и когда она нужна

Группировка определяет структуру отчета: по какому признаку строки объединяются и в каком порядке выводятся уровни вложенности. Отчет «Продажи» без группировок покажет плоский список документов, а с группировкой по контрагенту — блоки «Контрагент → его документы → итог по контрагенту».

Типичные задачи, где без группировки не обойтись: сводка по организациям или подразделениям, анализ по периодам (месяц, квартал), разрез по номенклатурным группам, сравнение складов. Чем больше строк возвращает запрос, тем важнее правильно выстроить уровни группировки, иначе отчет станет нечитаемым.

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

Как сгруппировать поле в пользовательском режиме

Это основной сценарий для бухгалтера, менеджера или аналитика. Конфигурацию изменять не требуется, настройка сохраняется в варианте отчета и не влияет на других пользователей, если вы не сохранили вариант как общий.

Порядок действий в типовых конфигурациях на управляемых формах:

Порядок действий
  1. 1
    Сформируйте отчет и нажмите «Настройки» (в ряде конфигураций — «Ещё → Изменить вариант»).
  2. 2
    Перейдите на вкладку «Группировка» (или «Структура»).
  3. 3
    Нажмите «Добавить» и выберите поле из списка доступных — например, «Контрагент», «Организация» или «Период.Месяц».
  4. 4
    При необходимости добавьте вторую группировку внутрь первой для вложенной детализации.
  5. 5
    Нажмите «Закрыть и сформировать» и проверьте, что появились блоки с итогами.
  6. 6
    Сохраните настройку как вариант отчета, чтобы не повторять действия.

Если вкладки «Группировка» нет, отчет может использовать расширенный режим настроек. Тогда структура отображается в виде дерева: щелкните по корневому элементу «Отчет», нажмите «Добавить группировку» и выберите поле. Вложенная группировка добавляется аналогично — выделяется нужный родительский уровень, и в него добавляется новый элемент.

Для группировки по периоду выбирайте не само поле «Период», а его уточнение: «Период.Месяц», «Период.Неделя», «Период.Квартал». Так отчет объединит записи по календарным интервалам, а не по уникальным датам документов, что обычно и требуется в аналитике.

Настройка группировки в схеме компоновки данных

Если вы создаете собственный отчет в конфигураторе, группировка задается в схеме компоновки данных. Откройте основную схему отчета, перейдите на закладку «Настройки» и в дереве структуры выделите узел «Отчет». Через контекстное меню или кнопку вызовите «Новая группировка» и укажите поле группировки.

На той же закладке для группировки задаются дополнительные параметры: тип группировки (элементы, иерархия, только иерархия), поля, выводимые внутри группы, отбор и сортировка уровня. Ресурсы (суммируемые показатели) настраиваются на закладке «Ресурсы» — там указывается выражение агрегирования, например Сумма(СуммаОборот).

bsl
// Пример: программное добавление группировки в настройки СКД
Настройки = Отчет.КомпоновщикНастроек.Настройки;
Группировка = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Контрагент");
ПолеГруппировки.Использование = Истина;

Чтобы внутри группировки видеть детальные строки, добавьте в неё вложенную группировку без поля — так называемые «Детальные записи». Без этого отчет покажет только итоги по каждому значению поля, а сами документы останутся скрытыми.

Виды группировок и выбор подходящей

СКД поддерживает несколько типов группировки, и выбор влияет на результат. Для ссылочных полей (справочники, документы) доступны варианты «Элементы», «Иерархия» и «Только иерархия». Неправильный тип — частая причина «пропавших» или задвоенных строк.

Тип группировкиЧто выводитКогда применять
ЭлементыТолько конкретные значения поля без родительских папокПлоские списки: контрагенты, склады, сотрудники
ИерархияПапки и элементы внутри нихНоменклатура с группами, статьи затрат
Только иерархияТолько папки без элементовСводка по группам справочника без детализации

Для таблиц (вариант «Таблица» вместо списка) группировки делятся на строки и колонки. Например, строки — контрагенты, колонки — месяцы, на пересечении — сумма продаж. Это удобно для кросс-отчетов, но требует, чтобы ресурс был один или их было немного, иначе таблица станет громоздкой.

Сравнение вариантов

Группировка в списке

Подходит для детальных отчетов с итогами по уровням. Ограничение — многоуровневая вложенность быстро перегружает отчет.

Строки и колонки таблицы

Подходит для сравнения двух измерений (кто и когда). Ограничение — плохо работает с большим числом колонок.

Детальные записи без группировки

Подходит для реестров документов. Итоги считаются только общие, без разрезов.

Итоги, сортировка и оформление внутри группировки

Итоги по группировке выводятся автоматически, если в отчете есть ресурсы — числовые поля с агрегатной функцией. Если итог пустой или равен нулю, проверьте, что поле добавлено в ресурсы и что у группировки не отключен вывод итогов в настройках оформления.

Сортировка внутри группировки задается отдельно для каждого уровня. Например, контрагентов можно отсортировать по убыванию суммы продаж, а документы внутри — по дате. Для этого выделите нужный уровень структуры и настройте закладку «Сортировка» именно для него, а не для отчета целиком.

Обратите внимание на параметр «Расположение итогов» в оформлении группировки: итог может выводиться в начале блока (заголовок) или в конце (подвал). Для длинных блоков удобнее итог в начале — не придется прокручивать список, чтобы увидеть сумму.

Типичные ошибки и ограничения

Типичные ошибки
01
Группировка по полю «Период» вместо «Период.Месяц» — каждая дата образует отдельную группу, отчет распадается на сотни мелких блоков.
02
Добавление группировки в корень вместо вложения в существующую — получаются два независимых разреза подряд, а не детализация внутри первого.
03
Отсутствие поля в ресурсах — итоги по группам пустые, хотя детальные суммы видны.
04
Тип «Только иерархия» для плоского справочника — группировка выглядит пустой, потому что папок в данных нет.
05
Сортировка задана на уровне отчета, а не группировки — порядок строк внутри блоков не меняется.

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

Ещё одно ограничение: группировка по вычисляемым полям и полям через точку (например, «Контрагент.ГруппаДоступа») возможна, но может заметно замедлить формирование на больших объемах. Если отчет формируется дольше обычного, попробуйте уменьшить число уровней группировки или сузить период.

Как проверить, что группировка настроена правильно

После формирования отчета выполните несколько простых проверок. Они занимают минуту и позволяют убедиться, что структура соответствует задаче, а итоги достоверны.

Контрольные точки

Как проверить результат

Структура блоков
Норма

Каждое значение поля образует один блок с заголовком и итогом

Тревожный признак

Блоки дублируются или каждая строка — отдельная группа

Сумма итогов
Норма

Сумма итогов групп сходится с общим итогом (при отсутствии отборов внутри групп)

Тревожный признак

Итоги по группам пустые или не сходятся с общим

Детализация
Норма

Двойной щелчок или расшифровка показывает документы внутри группы

Тревожный признак

Внутри группы нет строк — только заголовок

Порядок
Норма

Уровни вложены в нужной последовательности (организация → контрагент)

Тревожный признак

Разрезы выведены параллельно, а не вложены

Полезный прием — сверить итог по одной группе с независимым источником: оборотно-сальдовой ведомостью, карточкой счета или стандартным отчетом конфигурации. Если цифры совпали, группировка и ресурсы настроены корректно.

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

Почему нужного поля нет в списке для группировки?

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

Как сгруппировать отчет по месяцам?

Добавьте группировку по полю периода с уточнением: «Период.Месяц» (или «Месяц» в некоторых отчетах). Не используйте просто «Период» — тогда каждая дата документа создаст отдельную группу. Аналогично доступны «Период.Неделя», «Период.Квартал» и «Период.Год».

Как сохранить настройку группировки, чтобы не настраивать заново?

После настройки нажмите «Ещё → Сохранить вариант отчета» (или «Сохранить настройки» в простых отчетах) и задайте имя варианта. Вариант откроется при следующем запуске. Если сделать вариант общим, он станет доступен другим пользователям — для этого нужны соответствующие права.

Можно ли сгруппировать по нескольким полям одновременно?

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

Почему внутри группы не видно документов?

В группировке нет вложенных «Детальных записей». Добавьте внутрь группы ещё один уровень без указания поля группировки — тогда под заголовком группы выведутся сами строки данных. Без этого уровня отчет показывает только итоги.

Группировка замедлила формирование отчета. Что делать?

Сократите число уровней вложенности, уберите группировки по вычисляемым полям и полям через точку, сузьте период или добавьте отбор. На больших объемах также помогает перенос отбора из настроек в параметры виртуальных таблиц запроса — это задача разработчика.

Итог

Что важно запомнить

Группировка настраивается через «Настройки → Группировка» в пользовательском режиме или через структуру настроек в схеме компоновки данных. Выбирайте правильный тип (элементы/иерархия), группируйте периоды через «Период.Месяц», проверяйте ресурсы для итогов и сохраняйте результат как вариант отчета. Типовые отчеты меняйте через внешние отчеты или расширения, не правя конфигурацию напрямую.