Отчеты и Аналитика · 10 мин
Как сгруппировать строки в отчете 1С
Разбираем, как сгруппировать строки в отчете 1С через СКД, универсальный отчет и настройки варианта. Примеры, ошибки и проверка результата.
Группировка строк — базовый прием настройки отчетов в 1С, который превращает плоский список записей в структурированную иерархию: продажи по менеджерам, остатки по складам, движения по контрагентам. В типовых конфигурациях (Управление торговлей, ERP, Бухгалтерия, Комплексная автоматизация) большинство отчетов построено на системе компоновки данных (СКД), поэтому механика группировки везде одинакова — различается только способ открытия настроек.
Сгруппировать строки можно тремя способами: через форму настроек в режиме «Предприятие», через конструктор СКД в конфигураторе (если вы разрабатываете или дорабатываете отчет) и через универсальный отчет по регистрам. Первый способ доступен любому пользователю с правами на отчет и не требует изменения конфигурации — настройки сохраняются как пользовательский вариант.
Прежде чем менять структуру отчета, убедитесь, что нужное поле вообще доступно для группировки: оно должно присутствовать в наборе данных запроса. Если в отчете нет, например, поля «Регион контрагента», добавить его группировкой не получится — потребуется доработка схемы компоновки или выбор другого отчета.
Как работает группировка в СКД
В системе компоновки данных группировка — это элемент структуры отчета, который объединяет записи по значению одного или нескольких полей. Группировки бывают вложенными: например, «Организация → Склад → Номенклатура». Каждая группировка выводит итоги по своему уровню, а детальные записи попадают в самый нижний уровень вложенности.
Помимо группировок строк, в структуре есть таблицы (где поля разводятся по строкам и колонкам) и диаграммы, но для задачи «сгруппировать строки» используются именно группировки. Важно понимать: если в структуре отчета есть элемент «Детальные записи», он показывает данные без группировки — его часто удаляют, чтобы оставить только сводные строки.
Группировка строк через настройки отчета в режиме «Предприятие»
Это основной сценарий для пользователя. Откройте нужный отчет, нажмите кнопку «Настройки» (в некоторых конфигурациях — «Еще → Изменить вариант» или «Показать настройки»). В простой форме настроек группировка задается списком полей; в расширенной форме — на вкладке «Структура».
В расширенной форме настроек выделите корневой элемент «Отчет», нажмите «Добавить» и выберите «Новая группировка». В появившемся окне укажите поле группировки — например, «Контрагент» или «Склад». Чтобы добавить вложенный уровень, выделите созданную группировку и снова нажмите «Добавить → Новая группировка» уже внутри нее.
После настройки нажмите «Закрыть и сформировать». Отчет перестроится: строки будут объединены по значениям выбранных полей, а рядом с заголовками групп появятся итоги (суммы, количества — в зависимости от ресурсов отчета).
- 1Откройте отчет и нажмите «Настройки» (или «Еще → Изменить вариант»)
- 2Перейдите в расширенный режим настроек, если открылась простая форма
- 3На вкладке «Структура» выделите элемент «Отчет» и нажмите «Добавить → Новая группировка»
- 4Выберите поле группировки из списка доступных полей
- 5Для вложенного уровня выделите созданную группировку и добавьте в нее еще одну
- 6Нажмите «Закрыть и сформировать» и проверьте результат
- 7Сохраните настройки как новый вариант отчета, чтобы не повторять настройку
Настройка полей и итогов внутри группировки
Сама по себе группировка выводит только поле, по которому сгруппированы строки. Чтобы показать суммы и количества, перейдите на вкладку «Выбранные поля» и добавьте нужные ресурсы — например, «Сумма оборот», «Количество». Поля можно добавить как на уровень всего отчета, так и на конкретную группировку, выделив ее перед добавлением.
На вкладке «Другие настройки» (или в свойствах группировки) управляется расположение итогов: итоги можно выводить в начале группы, в конце или отключить совсем. Для компактных сводных таблиц часто оставляют только итоги по группам, скрывая детальные записи — для этого достаточно не добавлять группировку «Детальные записи» в структуру.
Полезный прием — группировка по периоду с заданной детализацией. Поля вида «Период месяц», «Период неделя», «Период день» доступны в большинстве оборотных отчетов и позволяют, например, сгруппировать продажи по месяцам внутри группировки по менеджерам.
Группировка в универсальном отчете
Универсальный отчет (в типовых конфигурациях открывается из раздела отчетов или через «Все функции → Отчеты → Универсальный отчет») позволяет строить выборки по регистрам накопления, сведений и документам без программирования. В нем группировка задается списком полей в порядке следования: первое поле — верхний уровень, второе — вложенный.
Выберите тип объекта (например, «Регистр накопления») и сам объект («Продажи», «Товары на складах»), затем в списке «Группировка строк» добавьте поля через кнопку подбора. Для каждого поля можно указать тип обхода и периодичность, если группируете по дате. После нажатия «Сформировать» отчет построится с заданной иерархией.
Ограничение универсального отчета: он работает только с одним источником данных за раз и не умеет сложных соединений. Если нужно объединить данные нескольких регистров, потребуется отчет на СКД.
Группировка в конструкторе СКД при разработке отчета
Если вы создаете собственный отчет или дорабатываете типовой, группировки задаются в конструкторе схемы компоновки на закладке «Настройки». Откройте схему компоновки данных отчета, перейдите на закладку «Настройки», включите расширенный режим и добавьте группировки в дерево структуры аналогично пользовательскому режиму.
Отличие разработческого подхода: здесь вы контролируете сам набор данных. Через закладку «Наборы данных» можно добавить в запрос любые поля, включая вычисляемые, а на закладке «Ресурсы» — определить, какие показатели будут суммироваться в итогах группировок. Без указания ресурса на закладке «Ресурсы» поле не будет агрегироваться, и итоги по нему не посчитаются.
Для иерархических справочников (номенклатура, статьи затрат) полезен тип группировки «Иерархия» или «Только иерархия» — тогда строки будут группироваться с учетом вложенности элементов справочника, а не только по конкретным значениям.
Способы группировки строк
Подходит пользователю без прав разработчика. Ограничение: доступны только поля, заложенные в схему отчета.
Быстрый анализ любого регистра без доработок. Ограничение: один источник данных, простые условия.
Полный контроль: произвольные поля, вычисляемые ресурсы, иерархия. Требует прав разработчика и аккуратности при обновлении конфигурации.
Типичные ошибки и ограничения
Самая частая проблема — нужное поле отсутствует в списке доступных для группировки. Причина: поле не включено в запрос набора данных или отключено в настройках доступности. Решение — либо выбрать другое поле, либо поручить разработчику добавить поле в схему компоновки.
Вторая ошибка — «пропали итоги». Это происходит, если ресурс не добавлен в выбранные поля группировки или отключен вывод общих итогов. Проверьте вкладку «Выбранные поля» и настройку «Расположение общих итогов».
Третья ошибка — чрезмерная вложенность. Пять-шесть уровней группировки по крупной базе могут формироваться долго и давать нечитаемый результат. Ограничивайте глубину двумя-тремя уровнями и используйте отборы, чтобы сузить выборку.
Как проверить результат и сохранить вариант
После формирования отчета проверьте три вещи: иерархия строк соответствует задуманной (уровни идут в правильном порядке), итоги по группам сходятся с общими итогами отчета, количество строк разумное — нет неожиданного «раздувания» из-за лишней группировки по уникальному полю вроде номера документа.
Чтобы не настраивать отчет заново, сохраните результат как вариант: «Еще → Сохранить вариант отчета» (или кнопка сохранения варианта в форме настроек). Вариант можно сделать доступным другим пользователям, если у вас есть соответствующие права, и поместить в панель отчетов раздела.
Как проверить результат
Уровни идут в заданном порядке, записи объединены по значениям полей
Каждая строка отдельная группа — добавлена лишняя группировка по уникальному полю
Сумма по группе равна сумме входящих в нее строк
Итоги пустые или нулевые — ресурс не добавлен в выбранные поля
Отчет формируется за приемлемое время
Формирование «зависает» — слишком глубокая вложенность или нет отборов
Частые вопросы
Почему нужное поле недоступно для группировки?
Поле отсутствует в наборе данных запроса отчета или отключено в настройках доступности полей схемы компоновки. Пользовательскими настройками это не исправить — потребуется доработка схемы отчета разработчиком или выбор другого отчета, где поле предусмотрено.
Как сгруппировать строки по месяцам или неделям?
В списке доступных полей оборотных отчетов найдите поля вида «Период месяц», «Период неделя», «Период день» и добавьте группировку по нужному из них. В универсальном отчете периодичность задается параметром рядом с полем-периодом.
Как убрать детальные строки и оставить только итоги по группам?
В структуре отчета удалите элемент «Детальные записи» или просто не добавляйте его. Останутся только группировки с итогами. Дополнительно можно настроить расположение итогов — в начале или в конце группы.
Сохранятся ли мои настройки группировки после обновления конфигурации?
Пользовательские варианты отчетов хранятся отдельно от конфигурации и обычно переживают обновление. А вот изменения, внесенные непосредственно в типовую схему компоновки в конфигураторе, при обновлении могут быть замещены типовой версией — такие доработки оформляйте через расширение или внешний отчет.
Можно ли сгруппировать строки по иерархии справочника, например по группам номенклатуры?
Да. При добавлении группировки по полю ссылочного типа выберите тип группировки «Иерархия» или «Только иерархия» — тогда строки будут объединены с учетом вложенности элементов в группы справочника, а не только по конкретным элементам.
Как сгруппировать строки в отчете, который построен не на СКД?
В старых отчетах на табличном документе без СКД группировка зашита в код и через настройки не меняется. Варианты: использовать аналогичный отчет на СКД, универсальный отчет по тому же регистру или поручить разработчику перенос отчета на СКД.
Что важно запомнить
Группировка строк настраивается через структуру варианта отчета: добавьте группировку по нужному полю, подключите ресурсы для итогов и сохраните результат как пользовательский вариант. Если поля нет среди доступных — нужна доработка схемы компоновки, а не более глубокий поиск в настройках.