Группировки в отчётах 1С 8.3: от кнопки «Настройки» до структуры СКД и иерархии

· 9 мин

Содержание

Чтобы сделать группировку в 1С 8.3, откройте отчёт, нажмите Настройки, переключите вид на «Расширенный» и на закладке структуры добавьте новую группировку по нужному полю: контрагенту, номенклатуре, складу, периоду. Для полной настройки служит команда Еще → Изменить вариант отчета: там открывается редактор структуры системы компоновки данных (СКД), где группировки вкладываются друг в друга, а у каждой задаются свои поля, отбор, сортировка и оформление.

Всё ниже относится к платформе 8.3 и интерфейсу «Такси». Механизм общий: отчёты БП 3.0, ЗУП 3.1, УТ 11 и ERP построены на СКД, поэтому порядок действий совпадает. Различаются только регламентированные бухгалтерские отчёты вроде ОСВ — у них своя панель настроек, о ней отдельно.

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

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

Пример структуры отчёта о продажах:

Отчет
└── Контрагент          ← первый уровень, итог по покупателю
    └── Номенклатура    ← второй уровень, итог по товару у покупателя
        └── Детальные записи  ← отдельные документы

Что нужно знать до настройки:

  • 📌 Поле группировки определяет, что сворачивается. Сгруппировать можно только по полю, которое есть в наборе данных отчёта.
  • 📌 Ресурсы — числовые поля (сумма, количество), которые суммируются на каждом уровне. Если поле не объявлено ресурсом, в строке группировки оно будет пустым.
  • 📌 Детальные записи — группировка без поля. Она выводит каждую строку исходных данных. Уберите её, и отчёт покажет только итоги.
  • 📌 Порядок вложенности важен: «Контрагент → Номенклатура» и «Номенклатура → Контрагент» дают разные отчёты на одних данных.

Группировка в типовых отчётах без конфигуратора

Большинство отчётов в разделах «Продажи», «Склад», «Зарплата», «Кадры» построены на библиотеке стандартных подсистем. Группировки в них меняются в пользовательском режиме, права администратора не нужны.

Быстрый способ: панель настроек

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

Полный редактор: «Изменить вариант отчета»

Через Еще → Изменить вариант отчета открывается тот же редактор, что видит разработчик в СКД. Тут доступно больше: таблицы с колонками, диаграммы, отдельный отбор и условное оформление для каждой группировки.

Измененный вариант сохраните под новым именем: Еще → Сохранить вариант отчета. Так типовой вариант останется нетронутым, а свой можно будет открыть из списка вариантов.

Если отчёт после ваших правок сломался, выберите Еще → Стандартные настройки. Вариант вернётся к поставочному виду, сохранённые копии не пострадают.

Регламентированные отчёты БП 3.0

Оборотно-сальдовая ведомость, анализ счёта, карточка счёта настраиваются через кнопку Показать настройки. Группировка задаётся на отдельной закладке: например, в ОСВ по счёту 41 можно сгруппировать по складам, затем по номенклатуре, а в ОСВ по счёту 60 — по контрагентам и договорам. Для разреза, которого нет на счёте в виде субконто, используется закладка детализации.

Где задать группировкуЧто меняетсяПрава
Настройки → расширенный видуровни, поля, порядокпользователь
Еще → Изменить вариант отчетаструктура, таблицы, оформление по уровнямпользователь с правом сохранять варианты
Показать настройки (ОСВ, анализ счёта)разрезы по субконто и детализацияпользователь
Схема СКД в конфигураторенабор полей, ресурсы, вычисляемые поляразработчик

Структура СКД: группировки, таблицы и сводные отчёты

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

Шаг 1. Подготовьте набор данных

В запросе выберите измерения и числовые поля. Числа объявите на закладке Ресурсы: для суммы — функция Сумма, для цены — чаще Среднее или Максимум. Без этого итоги по группировкам не посчитаются.

Шаг 2. Постройте структуру

  1. На закладке Настройки щёлкните правой кнопкой по корню Отчет и выберите Новая группировка.
  2. В окне выбора укажите поле и тип группировки (о типах — в следующем разделе). Пустое поле означает детальные записи.
  3. Чтобы вложить уровень, выделите созданную группировку и снова добавьте Новая группировка.
  4. На закладке Выбранные поля отметьте колонки, которые нужны в отчёте.

Шаг 3. Сводная таблица вместо списка

Для сводного отчёта с колонками выберите не группировку, а Новая таблица. У таблицы две ветки:

  • ➡️ Строки — например, номенклатура;
  • ⬇️ Колонки — например, месяц или склад.

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

Группировка в программном коде

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

Настройки = КомпоновщикНастроек.Настройки;

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

// без этих двух строк группировка выведется без колонок и без сортировки
Группировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
Группировка.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));

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

Группировка по иерархии справочника

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

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

В пользовательских настройках тип меняется так: в расширенном виде дважды щёлкните по полю группировки и выберите тип в колонке «Тип группировки». В конфигураторе — то же поле в окне группировки.

Иерархия работает только для иерархических справочников. Для «Склада» или «Организации» тип «Иерархия» ничего не изменит, если в справочнике нет групп.

Иерархия в языке запросов

Когда отчёт строится не на СКД, а на запросе с выводом в табличный документ, иерархию дают итоги запроса:

ВЫБРАТЬ
    Продажи.Номенклатура КАК Номенклатура,
    СУММА(Продажи.СуммаОборот) КАК Сумма
ИЗ
    РегистрНакопления.Продажи.Обороты(&Начало, &Конец) КАК Продажи
СГРУППИРОВАТЬ ПО
    Продажи.Номенклатура
ИТОГИ
    СУММА(Сумма)
ПО
    ОБЩИЕ,
    Номенклатура ИЕРАРХИЯ

СГРУППИРОВАТЬ ПО сворачивает строки в одну на товар, а ИТОГИ ... ИЕРАРХИЯ добавляет строки-итоги по папкам. Обход результата делают методом Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией).

Имя регистра в примере условное: в БП 3.0 такого регистра продаж может не быть. Подставьте регистр своей конфигурации.

Группировка по периодам: день, месяц, квартал

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

Приём 1. Периодичность виртуальной таблицы

Виртуальные таблицы Обороты и ОстаткиИОбороты регистров накопления принимают периодичность. Если в СКД выбрать её значение «Авто», схема сама добавит поля ПериодДень, ПериодНеделя, ПериодМесяц, ПериодКвартал, ПериодГод. Пользователь выбирает нужное поле в группировке, и отчёт пересчитывается без правки запроса.

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

Приём 2. Дополнение периодов

Месяцы без движений по умолчанию выпадают: в отчёте за год останется 9 строк вместо 12. Чтобы вывести и пустые месяцы:

  1. Откройте свойства поля группировки по периоду.
  2. В колонке «Тип дополнения» выберите Месяц.
  3. В колонках «Начало периода» и «Конец периода» укажите параметры отчёта — &НачалоПериода и &КонецПериода.

Теперь в отчёте за январь–декабрь будет ровно 12 строк, пустые месяцы выйдут с нулями или пустыми ячейками.

Какая группировка по времени вам нужна?

Итоги и условное оформление по уровням

Сгруппированный отчёт плохо читается, если все уровни выглядят одинаково. Здесь помогают итоги и оформление.

Где выводить итоги

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

Выделение строк группировок

Условное оформление задаётся на закладке Условное оформление для всего отчёта или для конкретной группировки. Практичные варианты:

  • 🎨 Жирный шрифт и заливка для строк папок. Оформление ставится на уровне группировки с типом «Иерархия», в его настройках область использования ограничивают иерархической группировкой.
  • 🔴 Красный цвет для отрицательного остатка. Условие: Ресурс меньше 0, оформление — цвет текста.
  • 🎯 Свой вид для каждого уровня. В условии используют системное поле СистемныеПоля.УровеньВГруппировке: уровень 1 — заливка, уровень 2 — только жирный шрифт.

Если оформление действует везде, а нужно только в итогах, откройте свойства элемента оформления и снимите флажки «Использовать в» для детальных записей и заголовков.

Ошибки группировки и медленные отчёты

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

Что ускоряет отчёт с группировками

  • ⚡ Фильтр в параметрах виртуальной таблицы, а не в отборе группировки. Отбор по периоду и организации, заданный параметром, отсекает данные ещё в запросе к регистру.
  • ⚡ Меньше уровней с детальными записями. Каждый уровень с детализацией до документа резко увеличивает объём вывода. Для сводки детальные записи уберите.
  • ⚡ Осторожно с вычисляемыми полями в группировках. Выражение считается для каждой строки, а ссылка на реквизит через точку («Номенклатура.Производитель.Страна») добавляет соединения с таблицами.
  • ⚡ Крупный период в группировке. Если нужна динамика за три года, группируйте по месяцу или кварталу, а не по дню: 36 строк вместо 1 095.
  • ⚡ Разные отчёты для разных задач. Вариант «на все случаи» с пятью уровнями и тремя таблицами медленнее и хуже читается, чем два простых.

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

Можно ли сгруппировать отчёт по реквизиту, которого нет в списке полей?
Да, если это реквизит ссылочного поля. Раскройте поле плюсиком в окне выбора: например, внутри «Номенклатуры» есть «Вид номенклатуры». Поля, которых нет в наборе данных, добавляет только разработчик в схеме.
Как сохранить свою группировку, чтобы её видели коллеги?
Сохраните вариант через «Еще → Сохранить вариант отчета» и укажите, что он доступен всем пользователям. Вариант «только для автора» коллеги не увидят.
Чем группировка отличается от отбора?
Отбор убирает лишние строки, группировка сворачивает оставшиеся в итоги. Обычно их используют вместе: отбор по организации и периоду, группировка по контрагентам.
Как сделать отчёт свёрнутым, чтобы раскрывать группы по одной?
В сформированном отчёте группы сворачиваются кнопками «+» и «−» слева от строк. Для выгрузки в Excel без сворачивания удобнее убрать детальные записи в самой структуре.
Можно ли поменять местами строки и колонки в сводной таблице?
Можно: в структуре таблицы перенесите группировки из ветки строк в ветку колонок перетаскиванием и сформируйте отчёт заново.