Отчеты и Аналитика · 9 мин
Как рассчитать итоги в 1С
Как рассчитать итоги в 1С: группировки в отчётах СКД, итоги в запросах, пересчёт итогов регистров накопления и бухгалтерии, типовые ошибки и проверка результата.
Под «расчётом итогов» в 1С обычно понимают три разные задачи: получить суммы по колонкам в отчёте, сгруппировать данные в запросе с итогами по разрезам и пересчитать хранимые итоги регистров, когда остатки или обороты отображаются некорректно. Способ действий зависит от того, где именно вы работаете — в пользовательском режиме «1С:Предприятие» или в конфигураторе.
Самая частая ситуация — пользователю нужно увидеть сумму по документам, остаткам или продажам, не выгружая данные в Excel. Для этого в типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP) есть отчёты на системе компоновки данных, где итоги считаются автоматически, а пользователь управляет только группировками и отборами. Вторая ситуация — разработчик или продвинутый пользователь строит запрос с конструкцией «ИТОГИ ПО». Третья — административная: пересчёт итогов регистров после сбоев, отключения электричества или массовой загрузки данных.
Ниже разобраны все три сценария с конкретными шагами, способами проверки результата и типичными ошибками.
Как посчитать итоги в типовом отчёте без программирования
Большинство отчётов в типовых конфигурациях построены на системе компоновки данных (СКД). Это значит, что итоги по числовым полям — сумма, количество, остаток — рассчитываются автоматически при формировании отчёта. Пользователю нужно только правильно настроить структуру: какие группировки выводить и по каким полям суммировать.
Откройте нужный отчёт, например «Оборотно-сальдовая ведомость» в Бухгалтерии или «Продажи» в Управлении торговлей. Нажмите «Настройки» (или «Показать настройки»). На вкладке «Группировка» добавьте разрезы, по которым хотите видеть итоги: контрагент, номенклатура, склад, период. На вкладке «Показатели» или «Поля» отметьте числовые ресурсы — сумму, количество. После нажатия «Сформировать» отчёт покажет итоги по каждой группировке и общий итог.
Если итог по группировке не нужен, его можно отключить: в настройках группировки выберите тип макета или вариант вывода «Без итогов». Это ускоряет формирование больших отчётов и делает их компактнее.
- 1Откройте отчёт и нажмите «Настройки»
- 2На вкладке «Группировка» добавьте нужные разрезы (контрагент, товар, период)
- 3На вкладке «Показатели» отметьте суммируемые поля
- 4Установите отбор и период, нажмите «Сформировать»
- 5Проверьте итоги по группам и общий итог внизу таблицы
Быстрые суммы без отчёта: итоги в списках и табличных частях
Не всегда нужен полноценный отчёт. Во многих списках документов и табличных частях можно выделить несколько строк и увидеть сумму по числовой колонке в строке состояния или через команду «Вывести список». В табличной части документа итог по колонке «Сумма» обычно отображается автоматически в подвале таблицы.
Ещё один быстрый приём — вывести список в табличный документ (команда «Ещё — Вывести список»), включив в настройку колонку с суммами. В полученном табличном документе итоги можно посчитать стандартными средствами платформы: выделить область ячеек, и в строке состояния появится сумма выделенных чисел. Это удобно для разовых проверок, когда настраивать отчёт дольше, чем посчитать вручную.
Итоги в запросах: агрегатные функции и конструкция «ИТОГИ ПО»
Если вы работаете в консоли запросов или пишете код, итоги рассчитываются агрегатными функциями: СУММА, КОЛИЧЕСТВО, МАКСИМУМ, МИНИМУМ, СРЕДНЕЕ. Простейший запрос по продажам выглядит так: выбрать номенклатуру и сумму оборота, сгруппировать по номенклатуре и применить СУММА к полю оборота.
Конструкция «ИТОГИ ПО» добавляет в результат запроса строки с промежуточными итогами по указанным измерениям. Например, «ИТОГИ СУММА(СуммаОборот) ПО Организация, Период МЕСЯЦ» вернёт детальные записи плюс итоговые строки по каждой организации и каждому месяцу. Для получения только общего итога используется «ИТОГИ ПО ОБЩИЕ».
ВЫБРАТЬ
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.СуммаОборот) КАК СуммаОборот
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК Продажи
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура
ИТОГИ
СУММА(СуммаОборот)
ПО
ОБЩИЕДва практических момента. Во-первых, при обходе результата запроса с итогами используйте метод «Выбрать» с типом обхода «ПоГруппировкам», иначе итоговые строки смешаются с детальными. Во-вторых, для виртуальных таблиц оборотов и остатков всегда задавайте параметры периода — запрос без отбора по периоду по большому регистру может выполняться минутами и блокировать работу пользователей.
Расчёт итогов в СКД: ресурсы и выражения
В собственных отчётах на СКД итоги настраиваются на вкладке «Ресурсы». Туда добавляются числовые поля с указанием агрегатного выражения — обычно «Сумма(Поле)». Именно ресурсы определяют, какие колонки будут суммироваться по группировкам и в общем итоге. Если поле не добавлено в ресурсы, итог по нему в отчёте не появится, даже если оно выведено в структуру.
Для нестандартных итогов — например, среднего чека или доли в процентах — используются вычисляемые поля и выражения ресурсов. Выражение «Сумма(Сумма) / Сумма(Количество)» даст среднюю цену, а «ВычислитьВыражение» позволяет строить нарастающий итог и доли от общего итога. Такие выражения требуют осторожности: деление на ноль в строках с пустой группировкой вызовет ошибку, поэтому добавляйте проверку знаменателя.
Пересчёт итогов регистров: когда остатки «врут»
Регистры накопления и бухгалтерии хранят предрассчитанные итоги, чтобы отчёты по остаткам формировались быстро. После сбоев — аварийного завершения, отключения питания, прямой загрузки данных обработками — хранимые итоги могут разойтись с фактическими движениями. Признаки: отчёт по остаткам показывает одно значение, а сумма по оборотам за тот же период — другое; остаток на конец не сходится с остатком на начало следующего периода.
Пересчёт выполняется в режиме «1С:Предприятие»: меню «Администрирование — Обслуживание — Корректировка данных — Пересчёт итогов» (в некоторых конфигурациях путь отличается, но пункт называется аналогично). Выберите регистры и период, за который нужно пересчитать итоги. Для файловой базы альтернатива — «Тестирование и исправление» в конфигураторе с включённой проверкой логической целостности.
Дополнительная мера — управление итогами регистра накопления в конфигураторе: команда «Установить период рассчитанных итогов». Если текущие остатки не нужны, а история важна, границу итогов можно сдвинуть назад — это ускорит проведение документов, но замедлит получение текущих остатков. Такая настройка относится к оптимизации и требует понимания последствий.
Проверка результата: как убедиться, что итоги верны
Базовая проверка — перекрёстная сверка двух независимых отчётов. Например, итог по «Оборотно-сальдовой ведомости» по счёту 41 должен совпадать с итогом отчёта «Остатки товаров на складах» в денежном выражении при одинаковых отборах. В торговле сумму продаж по отчёту «Продажи» сверяют с выручкой по оборотам счёта 90.01.
Для запросов проверка проще: выполните запрос с «ИТОГИ ПО ОБЩИЕ» и сравните общий итог с суммой итогов по группировкам верхнего уровня — они обязаны совпадать. Если не совпадают, ищите записи с пустыми значениями измерений: они могут не попадать ни в одну группировку при определённых настройках.
Как проверить результат
Значения совпадают до копейки
Расхождение — есть записи с пустыми измерениями или ошибка в выражении ресурса
Значения равны
Расхождение — требуется пересчёт итогов регистра
Суммы совпадают при одинаковых отборах и периоде
Разные суммы — проверьте настройки отборов в обоих отчётах
Частые вопросы
Почему в отчёте нет колонки с итогом, хотя сумма выведена?
Скорее всего, поле не добавлено в ресурсы СКД. Откройте настройки отчёта, найдите вкладку с ресурсами или показателями и отметьте нужное числовое поле. В пользовательских настройках некоторых конфигураций ресурсы включаются галочками в списке полей.
Чем «ИТОГИ ПО» отличается от «СГРУППИРОВАТЬ ПО»?
«СГРУППИРОВАТЬ ПО» сворачивает результат: вместо детальных строк остаются только строки групп с агрегатами. «ИТОГИ ПО» сохраняет детальные записи и добавляет к ним итоговые строки по указанным разрезам. Для отчёта с детализацией и подытогами нужен второй вариант.
Как посчитать нарастающий итог в отчёте СКД?
Используйте функцию языка выражений СКД «ВычислитьВыражение» с параметром типа обхода и указанием начала/конца диапазона от первой записи до текущей. В простых случаях проще построить запрос с итогами по периодам и рассчитать накопление в коде при выводе.
Опасен ли пересчёт итогов для рабочей базы?
Сама операция штатная и не меняет данные документов — она заново рассчитывает хранимые суммы по движениям. Риски связаны с прерыванием процесса и отсутствием резервной копии, поэтому пересчёт делают в монопольном режиме после создания копии базы.
Почему итоги двух одинаковых отчётов у разных пользователей различаются?
Чаще всего причина в разных настройках отборов, периода или в ограничении доступа на уровне записей (RLS): пользователь с ограниченными правами видит только часть данных, и его итоги закономерно меньше. Сравнивайте отчёты с идентичными настройками под одной учётной записью.
Что важно запомнить
Итоги в пользовательском режиме считаются через группировки и ресурсы отчётов СКД, в запросах — агрегатными функциями и конструкцией «ИТОГИ ПО». При расхождении остатков выполняется пересчёт итогов регистров после создания резервной копии. Достоверность результата проверяется перекрёстной сверкой независимых отчётов и сравнением общего итога с суммой итогов по группам.