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

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

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

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

Строка «Итого» в отчете 1С появляется по-разному в зависимости от того, где вы работаете: в типовом отчете на СКД (системе компоновки данных), в универсальном отчете, в табличном документе или в самописной форме. В большинстве случаев программирование не требуется — достаточно правильно настроить группировки и ресурсы.

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

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

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

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

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

Важно различать итоги группировки и общий итог. Итоги группировки появляются автоматически вместе с самой группировкой, а общий итог по всему отчету включается отдельным элементом «Общие итоги» в структуре настроек.

Итоги в типовом отчете без программирования

Если вы работаете с типовым отчетом (например, «Оборотно-сальдовая ведомость», «Продажи», «Анализ склада»), сначала проверьте настройки варианта. Откройте отчет, нажмите «Ещё» → «Изменить вариант» (в некоторых конфигурациях — «Настройки» → «Расширенные»).

На вкладке «Структура» или в окне настроек проверьте, есть ли элемент «Общие итоги». Если его нет — добавьте: правой кнопкой по корню «Отчет» → «Новая группировка» не нужна, достаточно пункта добавления общих итогов, либо просто убедитесь, что у корневого элемента включен вывод итогов.

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

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

Настройка ресурсов и итогов в конструкторе СКД

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

Для каждого ресурса можно указать, по каким группировкам он рассчитывается — колонка «Рассчитывать по». Если оставить поле пустым, ресурс считается по всем группировкам и в общем итоге. Это полезно, когда какой-то показатель осмыслен только на определенном уровне, например итог по складу не нужен в разрезе номенклатуры.

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

bsl
// Пример выражения ресурса на вкладке «Ресурсы» СКД:
// Поле: СуммаОборот
// Выражение: Сумма(СуммаОборот)
// Рассчитывать по: (пусто — по всем группировкам)

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

Когда отчет построен как таблица (перекрестная) — например, строки «Номенклатура», колонки «Месяцы» — итоги включаются отдельно для строковых и колоночных группировок. В настройках таблицы у группировок строк и колонок есть параметры вывода итогов.

Чтобы появилась колонка «Итого» справа, включите общие итоги для группировок колонок. Чтобы появилась строка «Итого» снизу — для группировок строк. В режиме предприятия это делается через «Изменить вариант» → структура → выделить таблицу → настройки группировок строк/колонок.

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

Где настраивать итоги

Настройки варианта в режиме «Предприятие»

Подходит для типовых отчетов и быстрых изменений; ограничение — нельзя добавить новый ресурс, которого нет в схеме

Конфигуратор, вкладка «Ресурсы» СКД

Полный контроль над агрегатами и уровнями расчета; требует прав на изменение конфигурации или внешнего отчета

Внешний отчет (.erf)

Удобен для доработки без изменения конфигурации; схему можно открыть прямо из режима «Предприятие» через конструктор

Итоги в макете табличного документа

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

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

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

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

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

Если итоги не выводятся или выводятся неверно, проверьте типичные причины: поле не добавлено в ресурсы; для ресурса ограничен список группировок в «Рассчитывать по»; общий итог удален из структуры настроек; пользовательский вариант отчета сохранен без итогов и «перекрывает» новые настройки.

Отдельный случай — итоги по нечисловым полям и по полям с NULL. Сумма по строковому полю не считается, а значения NULL в агрегатах игнорируются, что иногда дает расхождения с ожиданиями при разборе данных.

Типичные ошибки с итогами
01
Поле добавлено в выбранные поля, но не в ресурсы — колонка есть, а итога по ней нет
02
У ресурса заполнено «Рассчитывать по» — итог исчезает на части группировок
03
Сохраненный пользовательский вариант без общих итогов маскирует исправления в типовой схеме
04
Ручное накопление сумм в коде без сброса переменных — промежуточные итоги не сходятся с общим
05
Суммирование колонки с остатками на разные даты — итог экономически бессмысленен, хотя считается корректно
Контрольные точки

Как проверить итоги

Строка «Итого» внизу отчета
Норма

Присутствует, значения совпадают с суммой итогов верхнего уровня

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

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

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

У каждой группы есть подитог, равный сумме её строк

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

Подитоги пустые или «нарастают» от группы к группе

Сверка с независимым отчетом
Норма

Итог совпадает с ОСВ или другим контрольным отчетом

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

Расхождение — проверять отборы, период и ресурсы

Итог

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

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

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

Почему в отчете нет строки «Итого», хотя колонки с суммами есть?

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

Как добавить итог по колонке, которой нет в типовом отчете?

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

Почему итог по остаткам на конец периода считается «неправильно»?

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

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

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

Итоги в отчете не сходятся с оборотно-сальдовой ведомостью. Что проверять?

Сверьте период, отборы по организации и счетам, а также валюту и признак учета (количественный/суммовой). Затем проверьте, какие ресурсы используются в отчете и нет ли в запросе соединений, дублирующих строки, — дубли детальных записей дают завышенные итоги.

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

Оптимально — добавить в запрос секцию ИТОГИ с агрегатными функциями и выводить итоговые записи выборки в отдельную область макета. Ручное накопление сумм в переменных тоже работает, но требует аккуратного сброса значений при смене группировки.