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

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

1С: как управлять выводом итогов по группировкам и общих итогов

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

В отчетах 1С итоги появляются на нескольких уровнях: по каждой группировке (например, по контрагенту или складу) и в конце отчета как общий итог. Управлять их выводом можно тремя способами — в настройках типового отчета, в конструкторе схемы компоновки данных (СКД) и в тексте запроса. Выбор зависит от того, кто вносит изменения: пользователь, администратор или разработчик.

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

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

Где вообще живут итоги: уровни настройки

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

Итоги в СКД формируются автоматически по полям-ресурсам. Ресурс — это числовое поле (сумма, количество), для которого задана агрегатная функция: Сумма, Количество, Среднее, Максимум и т.д. Если поле не объявлено ресурсом, итог по нему не выводится вовсе — это первая и самая частая причина «пропавших» итогов.

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

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

В типовом отчете откройте настройки (кнопка «Настройки» или «Еще → Изменить вариант»). На вкладке «Группировка» перечислены все уровни структуры отчета. У каждой группировки есть признак использования — сняв флажок, вы отключите саму группировку вместе с ее итогами. Это безопасная операция: исходный вариант отчета не пострадает, если вы сохраняете изменения как новый вариант.

Общий итог в пользовательских настройках обычно представлен отдельным элементом структуры (в расширенном режиме настройки — строка «Общий итог» или «Итог»). Чтобы убрать итоговую строку в конце отчета, выключите этот элемент. Чтобы оставить только общий итог без промежуточных — отключите группировки, оставив детальные записи скрытыми.

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

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

Настройка итогов по группировкам в СКД

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

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

Отдельно настраивается расположение общих итогов: выделите в структуре элемент «Общий итог» и задайте ему расположение «Начало», «Конец» или «Нет». Чтобы итог шел «шапкой» отчета, поставьте «Начало» — строка с итогами появится сразу под заголовком колонок.

Ресурсы: по каким полям считать итоги

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

Тонкий момент — колонка «Рассчитывать по» (группировки, по которым считается ресурс). По умолчанию ресурс считается по всем группировкам, но можно ограничить список. Классический пример: итог по остаткам на складах имеет смысл по каждому складу, но бессмысленен по номенклатуре внутри склада, если расчет идет по-другому. Указав конкретные группировки, вы уберете лишние итоговые значения.

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

1c
// Закладка «Ресурсы» СКД: примеры выражений
Сумма(СуммаОборот)
Количество(Различные Номенклатура)
Сумма(СуммаФакт) / Сумма(СуммаПлан) * 100  // итоговый процент по итоговым суммам

Итоги в запросе: ИТОГИ ПО и ОБЩИЕ ИТОГИ

Если отчет строится не на СКД, а программно через запрос и вывод в табличный документ, итоги задаются в тексте запроса. Секция ИТОГИ с конструкцией ПО создает итоговые записи по указанным измерениям, а ОБЩИЕ ИТОГИ — итоговую запись по всей выборке. При обходе результата такие записи имеют тип записи «Итог по группировке» или «Общий итог».

Полезная возможность — ИТОГИ ПО ... ПЕРИОДАМИ для дат: платформа добавит итоговые записи по месяцам/кварталам, даже если в данных есть пропуски периодов. Обратная сторона: при больших объемах итоги по периодам заметно увеличивают размер результата запроса.

Если итоги по запросу не нужны (например, результат сворачивается в СКД), секцию ИТОГИ лучше не писать вовсе — это сократит время выполнения. Помните: итоги запроса и итоги СКД — независимые механизмы, и дублирование (итоги в запросе плюс группировки в СКД) обычно избыточно.

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

Частые ошибки и ограничения

Самая распространенная жалоба — «итог не сходится с суммой строк». Причины: отбор в СКД применяется к детальным записям, но итоги считаются с учетом связей иерархии; либо ресурс считается с функцией «Количество(Различные ...)», где сумма различных значений по группам меньше общего различного количества. Это не ошибка платформы, а свойство несуммируемых агрегатов.

Вторая типичная ситуация — итоги «обнуляются» при выводе иерархии справочника. Если группировка построена по полю с иерархией, а тип итога задан как «Иерархия», вложенные элементы учитываются дважды: в родительской группе и в собственной строке. Для денежных сумм это дает задвоение. Решение — использовать тип группировки «Элементы» вместо «Иерархия» либо осознанно оставить иерархию для аналитических целей.

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

Типичные ошибки
01
Ожидание, что «Количество(Различные ...)» сойдется с суммой по строкам — различные итоги не аддитивны
02
Группировка с типом «Иерархия» для денежных сумм — дает задвоение итогов
03
Поле не объявлено ресурсом на закладке «Ресурсы» — итог по колонке не выводится вовсе
04
Значение «Авто» в расположении итогов трактуется как ошибка, хотя это наследование настройки
05
Изменение типового варианта отчета без сохранения собственной копии — настройки теряются при сбросе

Как проверить результат и что выбрать в вашей ситуации

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

Выбор способа зависит от роли. Пользователю достаточно формы настроек типового отчета и сохранения своего варианта. Администратору, которому нужно изменить отчет для всех, — редактирования варианта в режиме «Изменить вариант» с правами настройки. Разработчику — схемы компоновки: ресурсы, расположение итогов, вычисляемые поля. Программный запрос с ИТОГИ оправдан только там, где СКД не используется.

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

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

Общий итог в конце отчета
Норма

Строка «Итого» присутствует и сходится с контрольным источником

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

Строки нет либо сумма расходится с независимым отчетом

Итоги по группировкам
Норма

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

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

Итоги выводятся не там или отсутствуют у части групп

Проценты и средние в итогах
Норма

Итоговый процент пересчитан от итоговых сумм

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

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

Иерархические группировки
Норма

Суммы по иерархии не задваиваются

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

Общий итог больше реальной суммы данных

Итог

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

Итоги в отчетах 1С управляются на трех уровнях: пользовательские настройки (флажки группировок и общего итога), схема компоновки (расположение итогов и закладка «Ресурсы») и текст запроса (ИТОГИ ПО, ОБЩИЕ ИТОГИ). Без объявленного ресурса итог не выводится; различные и иерархические итоги не обязаны сходиться с суммой строк. Изменения сохраняйте как отдельный вариант отчета.

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

Почему в отчете нет итога по одной из числовых колонок?

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

Как вывести общий итог в начале отчета, а не в конце?

В настройках СКД выделите элемент «Общий итог» в структуре и установите свойство «Расположение общих итогов» в значение «Начало». Итоговая строка появится сразу после заголовков колонок. В пользовательском режиме эта настройка доступна только в расширенном режиме редактирования варианта.

Можно ли оставить итоги только по верхней группировке?

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

Почему общий итог не равен сумме итогов по группам?

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

Как убрать итоги по группировке, но оставить сами группы?

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

Нужно ли писать ИТОГИ в запросе, если отчет построен на СКД?

Как правило, нет. СКД сама рассчитывает итоги по ресурсам, и секция ИТОГИ в запросе лишь увеличивает время выполнения и объем передаваемых данных. Итоги в запросе оправданы только когда результат обходится программно, без компоновки.