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