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

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

Как добавить итоги в отчет 1С

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

Итоги в отчете 1С — это суммы, количества, средние значения и другие агрегированные показатели, которые программа рассчитывает по группам данных или по отчету в целом. Без итогов отчет превращается в плоский список строк, в котором сложно увидеть картину целиком: общую выручку, суммарный остаток на складе или итоговую задолженность контрагентов.

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

Перед изменением настроек убедитесь, что понимаете структуру отчета: какие поля являются ресурсами (числовыми показателями), а какие — группировками (измерениями, по которым данные сворачиваются). Именно от этого зависит, где и какие итоги появятся.

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

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

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

Добавление итогов через настройки типового отчета

Откройте нужный отчет и нажмите кнопку «Настройки» (или «Изменить вариант» — название зависит от конфигурации). Откроется окно настроек с закладками: «Отбор», «Поля», «Сортировка», «Структура» и другие. Дальнейшие действия зависят от того, какие итоги нужны.

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

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

Общие итоги и их расположение

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

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

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

Итог по одной группировке

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

Иерархические итоги

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

Итоги в таблице и диаграмме

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

Добавление итогов в отчет, созданный вручную

Если отчет самописный и построен не на СКД, а на прямом запросе с выводом в табличный документ, итоги рассчитываются в коде. Типовой прием — использовать итоги в самом запросе: конструкция ИТОГИ СУММА(Сумма) ПО ОБЩИЕ, Контрагент. При обходе результата запроса проверяйте тип записи через ОбходРезультатаЗапроса.ПоГруппировкам и выводите итоговые строки в отдельные области макета.

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

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

Проверка результата и типичные ошибки

После настройки сформируйте отчет и сверьте итоги с независимым источником: оборотно-сальдовой ведомостью, отчетом по регистру или ручным расчетом на малой выборке. Совпадение итоговой строки с контрольной цифрой — главный признак корректной настройки.

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

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

Строка общего итога
Норма

Присутствует и равна сумме всех строк детальных данных

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

Строки нет или сумма отличается — поле не назначено ресурсом

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

Под каждой группой выводится сумма по группе

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

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

Время формирования
Норма

Отчет формируется за приемлемое время

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

Резкое замедление после включения итогов по иерархии

Типичные ошибки
01
Поле добавлено в отчет, но не в ресурсы — итог по нему не считается вовсе
02
Использование функции «Количество» вместо «Количество(Различные ...)» — дубли строк завышают итог
03
Включение итогов по иерархии на большом справочнике — отчет формируется минутами
04
Добавление в группировку детальных полей (например, номера документа) — итоги появляются на каждой строке и засоряют отчет
05
Изменение типового отчета внутри конфигурации — настройки теряются при обновлении

Ограничения и когда нужен разработчик

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

Маршрут решения

Как выбрать действие

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

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

Почему в отчете нет строки итога, хотя суммы выводятся?

Числовое поле присутствует в списке полей, но не назначено ресурсом. Откройте расширенные настройки, закладку «Ресурсы», и добавьте поле с функцией «Сумма». Затем проверьте, что в структуре отчета есть элемент «Общие итоги».

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

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

Можно ли посчитать итог только по части данных, например по одному складу?

Да. Добавьте отбор по складу — тогда весь отчет и его итоги будут ограничены этим складом. Либо добавьте группировку по складам, и итоги будут показаны по каждому складу отдельно.

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

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

Как сохранить настройки итогов, чтобы не настраивать заново?

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

Можно ли добавить итоги в отчет без прав администратора?

Настройки варианта отчета (ресурсы, группировки, общие итоги) обычно доступны любому пользователю, которому доступен сам отчет. Изменение схемы компоновки, запроса или макета требует прав на конфигурирование и выполняется разработчиком.

Итог

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

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