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

Учет и Финансы · 10 мин

Как сложить суммы в 1С: все рабочие способы

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

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

Универсального единого способа нет: в 1С суммирование выполняется тем инструментом, который соответствует месту хранения данных. В табличной части документа работает выделение строк и кнопка «Ещё», в отчётах — ресурсы и группировки, в произвольных выборках — консоль запросов с функцией СУММА. Ниже разобраны все основные сценарии с точными действиями и способами проверки результата.

Быстрое суммирование выделенных строк в табличной части

Самый частый бытовой сценарий — сложить суммы по нескольким строкам документа или журнала. В типовых конфигурациях на платформе 1С:Предприятие 8.3 это делается без программирования. Откройте документ или список, выделите нужные строки: смежные — с зажатой клавишей Shift, произвольные — с зажатой клавишей Ctrl, кликая по строкам мышью.

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

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

Порядок действий
  1. 1
    Откройте документ или список с нужными суммами
  2. 2
    Выделите строки через Shift (диапазон) или Ctrl (произвольные)
  3. 3
    Откройте меню «Ещё» и найдите команду итогов либо посмотрите строку состояния
  4. 4
    Сверьте результат с итогом документа на контрольном примере

Встроенный калькулятор для ручного сложения

Когда суммы находятся в разных местах — в разных документах, ячейках, печатных формах — удобен встроенный калькулятор платформы. Он вызывается сочетанием клавиш Ctrl+F2 или через меню «Сервис» (в зависимости от конфигурации и версии платформы расположение может отличаться). Калькулятор работает в двух режимах: обычном и бухгалтерском, второй удобен для сложения длинных столбиков чисел.

Практический приём: число можно скопировать из ячейки 1С (Ctrl+C) и вставить в калькулятор (Ctrl+V), затем нажать «плюс» и вставить следующее. Результат, наоборот, копируется из калькулятора обратно в поле ввода. Это исключает ошибки ручного набора длинных чисел с копейками.

Ограничение способа очевидно: это ручная операция. Для десятков строк она утомительна и чревата пропусками. Если сложение нужно регулярно, переходите к отчётам или обработкам.

Сумма колонки в отчётах: ресурсы и группировки

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

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

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

Итоги в стандартных бухгалтерских отчётах

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

Сложение сумм запросом: функция СУММА

Для произвольных выборок, консолидации данных и проверок используется язык запросов 1С. Агрегатная функция СУММА складывает значения числового поля по всем строкам выборки или по группам, заданным в предложении СГРУППИРОВАТЬ ПО. Типовой запрос для суммы реализаций по контрагентам выглядит так:

ВЫБРАТЬ

РеализацияТовары.Ссылка.Контрагент КАК Контрагент,

СУММА(РеализацияТовары.Сумма) КАК Сумма

ИЗ

Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТовары

ГДЕ

РеализацияТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО

РеализацияТовары.Ссылка.Контрагент

Такой запрос выполняется в консоли запросов (внешней обработке) или встроенном языке. Важные ограничения: СУММА игнорирует значения NULL, но если все значения NULL, результат тоже будет NULL — используйте функцию ЕСТЬNULL для подстановки нуля. Также следите за типом поля: суммировать можно только числовые поля, попытка сложить строковое представление числа вызовет ошибку.

Проверка результата запроса: сравните общую сумму с итогом типового отчёта за тот же период, например с оборотами по счёту 62 или с отчётом по продажам. Расхождение обычно означает, что в запрос не попали часть документов (отбор по дате, непроведённые документы) или наоборот — попали лишние (помеченные на удаление, если не добавлено условие на ПометкаУдаления).

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

При формировании печатных форм и отчётов в табличном документе суммы часто считаются накоплением в переменных: в цикле обхода строк значение прибавляется к переменной итога, которая затем выводится в подвал. Типичный приём во встроенном языке — объявить переменную ИтогоСумма = 0 до цикла и внутри цикла выполнять ИтогоСумма = ИтогоСумма + СтрокаТаблицы.Сумма.

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

Типичные ошибки
01
Суммирование поля с НДС вместо суммы без НДС — итог завышен ровно на сумму налога
02
Включение помеченных на удаление или непроведённых документов в выборку — итог больше учётного
03
Ручной пересчёт десятков строк калькулятором вместо настройки группировки в отчёте — потеря времени и пропуски строк
04
Игнорирование NULL в запросе — в итоге пусто вместо ожидаемого нуля

Как проверить, что сумма сложена правильно

Любое суммирование в 1С стоит завершать контрольной сверкой. Самый надёжный ориентир — типовой отчёт за тот же период с теми же отборами: оборотно-сальдовая ведомость для учётных сумм, отчёт по продажам или по поступлениям для оперативных данных. Совпадение до копейки означает, что состав выборки и поле суммы выбраны верно.

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

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

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

Сумма против типового отчёта за период
Норма

Совпадает до копейки

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

Расхождение на сумму НДС или на целые документы

Состав выборки
Норма

Только проведённые, непомеченные документы за нужный период

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

Есть черновики, пометки удаления, чужие периоды

Поле суммы
Норма

Используется один и тот же реквизит во всех строках

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

Смешаны суммы с НДС и без НДС

Когда какой способ выбрать

Выбор инструмента зависит от объёма данных и регулярности задачи. Разовая сверка нескольких строк — выделение и строка состояния или калькулятор. Регулярный контроль по срезам (контрагенты, склады, периоды) — настройка группировок в типовом отчёте. Консолидация нестандартных данных и автоматизация — запрос с функцией СУММА. Доработка печатных форм — накопление итога в переменных макета.

Сравнение вариантов

Выделение строк и итог в строке состояния

Быстро и без настройки, но только для видимых строк и разовых задач

Встроенный калькулятор

Подходит для сумм из разных мест, но полностью ручная работа

Группировки и ресурсы в отчётах

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

Запрос с СУММА

Максимальная гибкость и автоматизация, но нужны навыки и осторожность в рабочей базе

Часто задаваемые вопросы

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

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

Как сложить суммы только по проведённым документам?

В отчётах платформа по умолчанию учитывает проведённые документы. В запросе добавьте условие на проведённость ссылки (Ссылка.Проведен = ИСТИНА) или используйте виртуальные таблицы регистров, которые и так содержат только проведённые движения.

Можно ли сложить суммы из разных баз 1С?

Штатных средств сложения между базами нет. Варианты: выгрузить данные из обеих баз в таблицы и сложить внешними средствами, настроить консолидацию отчётности или сводный запрос через COM-соединение — последнее требует участия специалиста.

Почему СУММА в запросе вернула пустое значение?

Если ни одна строка не попала в выборку или все значения поля равны NULL, агрегатная функция возвращает NULL. Оберните результат в ЕСТЬNULL(СУММА(Поле), 0) и проверьте условия отбора — чаще всего дело в неверном периоде или отборе по организации.

Как посчитать сумму с учётом скидки по строкам документа?

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

Итог документа не сходится с суммой строк — что делать?

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

Итог

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

Для разовых задач выделяйте строки и смотрите итог в строке состояния или используйте калькулятор (Ctrl+F2). Для регулярных сверок настраивайте группировки и ресурсы в отчётах, для нестандартных выборок — запрос с СУММА. Любой результат сверяйте с типовым отчётом за тот же период.