Группировка в 1С:Предприятие — это не просто инструмент для упорядочивания данных, а основа аналитики, которая превращает сырые цифры в осмысленные отчеты. Без правильной группировки даже простой оборотно-сальдовой ведомости бухгалтер тратит часы на ручной разбор строк, а менеджер по продажам не видит реальной картины по регионам или категориям товаров. В этой статье разберем 7 практических способов добавления группировок — от базовых настроек в пользовательском режиме до программного создания динамических иерархий через Запрос и СКД (система компоновки данных).
Особое внимание уделим скрытым возможностям платформы 1С 8.3.22+, которые позволяют группировать данные не только по стандартным реквизитам (например, Контрагент.Наименование), но и по вычисляемым полям, периодическим регистрам или даже внешним источникам через HTTP-Сервисы. Если вы раньше думали, что группировка ограничивается кнопкой «Добавить группировку» в отчете — после этой статьи ваш взгляд на аналитику в 1С изменится.
1. Базовая группировка в пользовательском режиме: пошаговый разбор
Начнем с самого простого — добавления группировки в уже существующий отчет (например, Оборотно-сальдовая ведомость или Анализ субконто). Этот метод не требует прав разработчика и доступен даже пользователям с ролью «Полные права» без доступа к конфигуратору.
Чтобы добавить группировку:
- 📊 Откройте нужный отчет через меню
Отчеты → Стандартные отчетыили панель разделов (например,Бухгалтерия → Оборотно-сальдовая ведомость). - ⚙️ Нажмите кнопку
Настройки(обычно в верхнем правом углу формы отчета). В некоторых конфигурациях (например, 1С:ERP) эта кнопка может называтьсяПоказать настройки. - 🔄 Перейдите на вкладку
Группировки(в Управлении торговлей 11 она может быть скрыта под кнопкойДополнительно). - ➕ Нажмите
Добавить группировкуи выберите поле для группировки из списка. Например, для анализа продаж по регионам выберитеКонтрагент.Регион.
После добавления группировки отчет автоматически перестроится. Если данных много, система может запросить подтверждение на выполнение длительной операции — не прерывайте процесс, иначе группировка применится некорректно.
В отчетах на основе СКД (например, Анализ продаж в 1С:УТ 11) можно перетаскивать группировки мышью, меняя их порядок прямо в окне настроек. Это удобно для быстрой настройки иерархии данных.
2. Группировка по нескольким полям: создание многоуровневой иерархии
Одиночная группировка полезна, но часто требуется анализировать данные по нескольким критериям одновременно. Например, в отчете по продажам может понадобиться группировка сначала по Региону, затем по Менеджеру, а внутри — по Категории товара. Для этого используют многоуровневые группировки.
Алгоритм настройки:
- Откройте настройки отчета и перейдите на вкладку
Группировки. - Добавьте первую группировку (например,
Контрагент.Регион). - Нажмите
Добавить группировкуеще раз и выберите второе поле (например,Менеджер.Наименование). - Повторите шаг 3 для третьего уровня (например,
Номенклатура.ГруппаНоменклатуры). - Используйте кнопки
Вверх/Вниз(или перетаскивание мышью), чтобы изменить порядок группировок.
Важно: порядок группировок влияет на структуру отчета. Например, если сначала сгруппировать по Менеджеру, а затем по Региону, то в отчете сначала будут блоки по менеджерам, а внутри них — подразделы по регионам. Это не всегда логично для анализа.
Что делать, если группировка не отображается в отчете?
Если после добавления группировки данные в отчете не изменились, проверьте:
1. Фильтры: возможно, отбор скрывает все данные по выбранному полю.
2. Права доступа: у пользователя может не хватать прав на просмотр реквизита, по которому сгруппированы данные.
3. Настройки СКД: в некоторых отчетах нужно явно включить отображение группировок в разделе Дополнительные настройки → Структура.
4. Кэш: попробуйте обновить отчет (F5) или перезапустить 1С.
3. Группировка по вычисляемым полям: когда стандартных реквизитов недостаточно
Часто стандартных полей для группировки не хватает. Например, может потребоваться сгруппировать данные по:
- 📅 Диапазонам дат (например, «1-я половина месяца» / «2-я половина месяца»).
- 💰 Интервалам сумм (например, «до 10 000», «10 000–50 000», «свыше 50 000»).
- 📦 Комбинациям полей (например, «Регион + Категория товара»).
Для таких случаев в 1С есть механизм вычисляемых полей. Рассмотрим пример добавления группировки по интервалам сумм в отчете Продажи:
- Откройте настройки отчета и перейдите на вкладку
Вычисляемые поля(в СКД она может называтьсяРесурсыилиДополнительные поля). - Нажмите
Добавитьи задайте имя поля, например,ИнтервалСуммы. - В поле
Выражениевведите формулу:ВЫБРАТЬКОГДА СуммаДокумента < 10000 ТОГДА"До 10 000"
КОГДА СуммаДокумента >= 10000 И СуммаДокумента < 50000 ТОГДА"10 000–50 000"
ИНАЧЕ"Свыше 50 000"
КОНЕЦ
- Сохраните поле и вернитесь на вкладку
Группировки. - Добавьте новую группировку и выберите созданное поле
ИнтервалСуммы.
Теперь отчет будет сгруппирован по диапазонам сумм, что удобно для анализа структуры продаж по размеру сделок.
4. Программное создание группировок через Запрос
Для разработчиков и опытных пользователей, работающих в конфигураторе, доступен более гибкий способ — создание группировок в тексте Запроса. Это позволяет:
- 🔧 Настраивать динамические группировки, которые меняются в зависимости от условий.
- 📊 Объединять данные из нескольких таблиц с разной структурой.
- ⚡ Оптимизировать производительность за счет предварительной агрегации данных.
Пример запроса с группировкой по региону и категории товара:
ВЫБРАТЬ
Контрагент.Регион КАК Регион,
Номенклатура.ГруппаНоменклатуры КАК Категория,
СУММА(ДокументРасходнаяНакладная.СуммаДокумента) КАК ИтогоПродаж
ИЗ
Документ.РасходнаяНакладная КАК ДокументРасходнаяНакладная
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО ДокументРасходнаяНакладная.Ссылка = Продажи.ДокументРасхода
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагент
ПО ДокументРасходнаяНакладная.Контрагент = Контрагент.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
ПО Продажи.Номенклатура = Номенклатура.Ссылка
ГДЕ
ДокументРасходнаяНакладная.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
Контрагент.Регион,
Номенклатура.ГруппаНоменклатуры
Этот запрос вернет таблицу с тремя колонками: Регион, Категория и ИтогоПродаж, где данные уже сгруппированы. Такой подход удобен для создания собственных отчетов или обработок, где нужна гибкая аналитика.
Используйте конструкцию СГРУППИРОВАТЬ ПО в запросах для предварительной агрегации данных. Это снижает нагрузку на сервер, так как группировка выполняется на уровне СУБД, а не в памяти 1С.
5. Группировка в системе компоновки данных (СКД): расширенные возможности
Система компоновки данных (СКД) — это мощный инструмент 1С, который позволяет создавать сложные отчеты с динамическими группировками, условным оформлением и интерактивными элементами. В отличие от стандартных отчетов, СКД дает доступ к:
- 📈 Динамическому изменению группировок прямо в форме отчета (без перезапуска).
- 🎨 Условному оформлению групп (например, выделение цветом регионов с низкими продажами).
- 🔄 Вложенным группировкам с произвольной глубиной.
Рассмотрим, как добавить группировку в отчет на основе СКД:
- Откройте схему компоновки данных в конфигураторе (например, для отчета
АнализПродаж). - В дереве настроек найдите раздел
Группировкии добавьте новую группу. - В свойствах группировки укажите:
Поле— реквизит, по которому группируем (например,Контрагент.Регион).Тип группировки—Иерархия(для вложенных групп) илиГруппировка(для плоского списка).Порядок— направление сортировки (По возрастаниюилиПо убыванию).
Преимущество СКД в том, что настройки группировок можно сохранять в варианты отчетов, чтобы пользователи могли быстро переключаться между разными видами аналитики.
🔹 Убедитесь, что поле для группировки не содержит NULL-значений (используйте ВЫРАЗИТЬ для замены пустых значений).
🔹 Проверьте, что тип данных поля соответствует группировке (например, нельзя группировать по полю типа ДатаВремя без приведения к Дата).
🔹 Для больших отчетов включите Отбор по периодам, чтобы избежать таймаутов.
🔹 Тестируйте отчет на небольшом наборе данных перед применением к полной базе.-->
6. Группировка в динамических списках и формах
Группировка применима не только к отчетам, но и к динамическим спискам в формах справочников или документов. Например, в справочнике Номенклатура можно сгруппировать товары по Группе номенклатуры или Поставщику, а в журнале документов — по Типу документа или Организации.
Чтобы настроить группировку в динамическом списке:
- Откройте форму справочника или документа в конфигураторе (например,
Справочник.Номенклатура.ФормаСписка). - Найдите элемент
ДинамическийСписокв дереве формы. - В свойствах списка перейдите на вкладку
Группировки. - Добавьте новую группировку и укажите поле (например,
ГруппаНоменклатуры). - При необходимости настройте
Условное оформлениедля групп (например, выделение цветом групп с нулевыми остатками). - В выборке миллионы записей.
- Группировка выполняется по полю с высокой уникальностью (например,
Документ.Номер). - Используются вложенные группировки (3+ уровня).
В 1С:Управление торговлей 11 и ERP 2 группировки в динамических списках поддерживают интерактивное развертывание/свертывание групп прямо в пользовательском режиме. Это удобно для работы с большими справочниками (например, Контрагенты с тысячами записей).
В динамических списках можно использовать составные группировки, например, сначала по Группе номенклатуры, а затем по Поставщику. Для этого добавьте несколько уровней группировок в настройках формы.
7. Типовые ошибки при работе с группировками и как их избежать
Даже опытные пользователи и разработчики сталкиваются с проблемами при настройке группировок. Ниже — таблица самых распространенных ошибок и способы их решения:
| Ошибка | Причина | Решение |
|---|---|---|
| Группировка не отображается в отчете | Поле для группировки содержит NULL или пустые значения |
Используйте ВЫРАЗИТЬ(Поле КАК Строка) или настройте отбор |
| Долгое формирование отчета | Слишком много уровней группировок или большая выборка | Добавьте отбор по периоду или используйте ИНДЕКСИРОВАТЬ ПО в запросе |
| Некорректная сортировка групп | Тип данных поля не соответствует сортировке (например, числа сортируются как строки) | Явно укажите тип в запросе: ПРЕОБРАЗОВАТЬ(Поле,"Число") |
| Группировка игнорирует фильтры | Фильтр применен после группировки (в СКД) | Перенесите условие в раздел Отбор или в текст запроса |
| Ошибка"Поле не найдено" | Опечатка в имени поля или оно не выбрано в запросе | Проверьте синтаксис и список полей в разделе ВЫБРАТЬ |
Если ошибка не устраняется, проверьте журнал регистрации (Администрирование → Журнал регистрации) — там могут быть подробности об исключениях, связанных с группировкой.
При работе с большими базами данных (свыше 100 000 записей) избегайте группировок по полям с высокой кардинальностью (например, Номенклатура.Артикул). Это может привести к переполнению памяти. Вместо этого группируйте по обобщенным полям, например, Номенклатура.Группа.
FAQ: Ответы на частые вопросы о группировках в 1С
Можно ли сгруппировать данные по нескольким справочникам одновременно?
Да, но для этого нужно использовать составные ключи группировки. В запросе это делается через запятую в разделе СГРУППИРОВАТЬ ПО:
СГРУППИРОВАТЬ ПО
Справочник1.Поле1,
Справочник2.Поле2
В СКД добавьте несколько уровней группировок, указав поля из разных справочников.
Как сделать группировку по первым буквам наименования (например, А-Я)?
Используйте вычисляемое поле с функцией ЛЕВ:
ВЫБРАТЬ
ЛЕВ(Номенклатура.Наименование, 1) КАК ПерваяБуква,
СУММА(Количество) КАК Итого
ИЗ...
СГРУППИРОВАТЬ ПО ПерваяБуква
Для кириллицы учитывайте регистр: ВЕРХНИЙРЕГ(ЛЕВ(...)).
Почему после добавления группировки отчет стал формироваться дольше?
Группировка требует дополнительных вычислительных ресурсов, особенно если:
Решения:
- Добавьте индексы на поля группировки в конфигураторе.
- Используйте
ИТОГИв запросе вместо полной группировки. - Разбейте отчет на несколько более простых.
- Настройте группировки в отчете.
- Нажмите
Сохранить вариант(обычно в менюЕщеилиДействия). - Укажите имя варианта (например, «Группировка по регионам и менеджерам»).
- Выберите
Доступность:Личный(только для вас) илиОбщий(для всех пользователей).
Можно ли сохранять варианты группировок для разных пользователей?
Да, в СКД есть механизм вариантов отчетов. Чтобы сохранить настройки группировок:
Варианты сохраняются в базе и доступны при следующем открытии отчета.
Как сгруппировать данные по недели или кварталы?
Для группировки по нестандартным периодам (недели, кварталы, полугодия) используйте функции работы с датами:
ВЫБРАТЬ
НОМЕРНЕДЕЛИ(Документ.Дата) КАК Неделя,
СУММА(СуммаДокумента) КАК Итого
ИЗ...
СГРУППИРОВАТЬ ПО Неделя
-- Или по кварталам:
ВЫБРАТЬ
КВАРТАЛ(Документ.Дата) КАК Квартал,
СУММА(СуммаДокумента) КАК Итого
ИЗ...
СГРУППИРОВАТЬ ПО Квартал
Для отображения названий кварталов (например, «Q1 2026») используйте конструкцию:
"Q" + ФОРМАТ(КВАРТАЛ(Дата),"ЧГ=0") +"" + ГОД(Дата)