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

Эта статья поможет разобраться, как посчитать сумму по документу в 1С 8.3 — от базовых методов для пользователей до продвинутых приёмов для программистов. Мы рассмотрим стандартные инструменты платформы, скрытые возможности типовых конфигураций (Бухгалтерия 3.0, Управление Торговлей 11, Зарплата и Управление Персоналом), а также напишем универсальный код для автоматического суммирования. Особое внимание уделим типичным ошибкам, из-за которых итоги "не сходятся", и способам их исправления.

⚠️ Внимание: Если вы работаете с документами, где суммы зависят от курсов валют (например, в УТ 11 при оплатах в иностранной валюте), обязательно проверяйте дату курса в настройках документа. Расхождения даже в 1 копейку могут привести к ошибкам закрытия месяца.

1. Стандартные способы подсчёта сумм в документах 1С

Большинство документов в уже содержат автоматически рассчитанные итоги — их не нужно считать вручную. Однако эти суммы не всегда отображаются там, где вы ожидаете, или могут быть скрыты в сводных таблицах. Вот где их искать:

  • 📄 В шапке документа: Поля Сумма документа, Итог или Всего обычно расположены в верхней части формы. Например, в Счёте на оплату или Реализации товаров.
  • 📊 В табличных частях: Суммы по строкам часто выводятся в колонках Сумма, Сумма НДС, Всего с НДС. В УТ 11 это может быть таблица Товары или Услуги.
  • 🔍 В подвалах таблиц: Многие документы имеют строку Итого внизу табличной части (например, в Поступлении товаров или Авансовом отчёте).
  • 📈 В печатных формах: Если сумма не видна на экране, попробуйте открыть печатную форму документа (кнопка ПечатьПечатная форма). Там часто выводятся детализированные итоги.

В типовых конфигурациях суммы рассчитываются автоматически при изменении данных. Однако если вы вручную редактировали строки (например, изменили количество или цену), итоги могут не пересчитаться. В этом случае:

  1. Нажмите кнопку Записать (дискетка в панели инструментов).
  2. Или воспользуйтесь командой Пересчитать итоги (если она есть в меню Действия).
📊 Какой конфигурацией 1С вы чаще всего пользуетесь?
Бухгалтерия 3.0
Управление Торговлей 11
Зарплата и Управление Персоналом 3.1
ERP 2.5
Другая

2. Ручное суммирование в табличных частях

Иногда требуется посчитать сумму по определённым строкам документа — например, только по товарам одной группы или с определённой скидкой. Для этого не обязательно экспортировать данные в Excel: в есть встроенные инструменты.

Способ 1: Выделение строк и контекстное меню

  1. Откройте документ (например, Реализация товаров).
  2. Перейдите в табличную часть (например, Товары).
  3. Выделите нужные строки, удерживая Ctrl или Shift.
  4. Щёлкните правой кнопкой мыши и выберите Итоги по выделенным строкам.
  5. В открывшемся окне вы увидите суммы по колонкам: количество, цена, сумма без НДС и т.д.

Способ 2: Фильтрация и группировка

Если нужно посчитать сумму по определённому признаку (например, только по товарам с НДС 20%):

  1. В табличной части нажмите на заголовок колонки (например, Ставка НДС).
  2. Выберите ГруппировкаДобавить группировку.
  3. Разверните группу с нужной ставкой НДС — внизу будет строка Итого.

Проверьте, что документ записан (нет значка карандаша в заголовке)

Убедитесь, что табличная часть не отфильтрована (иконка воронки должна быть неактивной)

Для точных расчётов отключите округление в настройках документа (если это критично)

Сверьте единицы измерения — суммы по штукам и килограммам нельзя складывать напрямую-->

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

3. Использование отчётов для подсчёта сумм

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

  • 📌 Отчёт "Анализ документа": Показывает детализацию сумм по строкам, включая НДС, скидки и наценки. Доступен через меню ОтчётыАнализ документаУТ 11 и ERP 2.5).
  • 📊 Универсальный отчёт "Обороты между субконто": Позволяет сгруппировать суммы по контрагентам, договорам или номенклатуре. Подходит для Бухгалтерии 3.0.
  • 🔎 Отчёт "Ведомость по документам": Выводит список документов с итогами за период. Полезен для сверки сумм по нескольким документам (например, все Счета-фактуры за квартал).

Пример: как посчитать сумму всех реализаций за месяц

  1. Откройте раздел ПродажиОтчёты по продажам.
  2. Выберите Ведомость по документам реализации.
  3. Установите период (например, Январь 2026).
  4. В настройках отчёта добавьте группировку по Контрагенту или Типу документа.
  5. В результатах будет колонка Сумма документа с итогами.
Тип отчёта Где найти Для чего подходит Ограничения
Анализ документа Меню Отчёты в карточке документа Детализация сумм по строкам одного документа Не показывает данные по нескольким документам
Ведомость по документам Раздел Продажи или Покупки Суммы по группе документов за период Не показывает детализацию по номенклатуре
Обороты между субконто Раздел ОтчётыСтандартные отчёты Группировка сумм по аналитике (контрагенты, договора) Требует знания плана счетов
💡

Если в отчёте не хватает колонки с нужной суммой, добавьте её через настройки: нажмите Показать настройкиДобавить поле и выберите СуммаДокумента или ВсегоСНДС.

4. Программный расчёт сумм (для разработчиков)

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

Пример 1: Сумма по табличной части документа

Допустим, у нас есть документ ПоступлениеТоваровУслуг, и нужно посчитать сумму по колонке Сумма в табличной части Товары:

Сумма = 0;

Для Каждого СтрокаТоваров Из ДокументОбъект.Товары Цикл

Сумма = Сумма + СтрокаТоваров.Сумма;

КонецЦикла;

Пример 2: Сумма с учётом скидок и налогов

Если нужно посчитать итоговую сумму документа РеализацияТоваровУслуг с учётом всех наценок и НДС:

СуммаДокумента = ДокументОбъект.ИтогСумма; // Готовое поле в типовой конфигурации

// Или вручную:

Сумма = 0;

Для Каждого Строка Из ДокументОбъект.Товары Цикл

СуммаСтроки = Строка.Количество * Строка.Цена;

СуммаСтроки = СуммаСтроки * (1 - Строка.ПроцентСкидки / 100); // Учёт скидки

СуммаСтроки = СуммаСтроки * (1 + Строка.СтавкаНДС / 100); // Учёт НДС

Сумма = Сумма + СуммаСтроки;

КонецЦикла;

Пример 3: Сумма по нескольким документам

Чтобы посчитать сумму всех Счетов-фактур за текущий месяц:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| СУММА(СчетФактураВыданный.СуммаДокумента) КАК ИтоговаяСумма

|ИЗ

| Документ.СчетФактураВыданный КАК СчетФактураВыданный

|ГДЕ

| СчетФактураВыданный.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца";

НачалоМесяца = НачалоМесяца(ТекущаяДата());

КонецМесяца = КонецМесяца(ТекущаяДата());

Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца);

Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца);

Результат = Запрос.Выполнить();

ИтоговаяСумма = Результат.Выбрать().СуммаДокумента;

⚠️ Внимание: При программном расчёте сумм в документах с валютными операциями всегда указывайте курс пересчёта явно. Например:

СуммаВРублях = СуммаВВалюте * КурсВалютыНаДатаДокумента;

Если не указать дату курса, может взять текущий курс, что приведёт к расхождениям.

Как узнать структуру документа для кода?

Чтобы понять, какие поля есть в документе (например, название табличной части или колонок), откройте его в режиме Конфигуратор (F1 → Открыть конфигуратор). Затем найдите объект в дереве метаданных и посмотрите его структуру. Альтернативно можно воспользоваться отладчиком: поставьте точку останова в коде и посмотрите значения полей через Вычислить выражение (Ctrl+Alt+F9).

5. Типичные ошибки при подсчёте сумм и как их избежать

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

  • 🔄 Непересчитанные итоги: Если вы изменили количество или цену в строке, но сумма в шапке документа не обновилась, нажмите Пересчитать итоги (меню Действия) или просто сохраните документ (Записать).
  • 💰 Округление: В настройках документа (или в параметрах учёта) может быть включено округление сумм до копеек. Это приводит к расхождениям в 1-2 копейки. Чтобы проверить, откройте Настройки пользователяОкругление.
  • 📅 Неверная дата курса валюты: В документах с иностранной валютой сумма в рублях зависит от курса на дату документа. Если курс неверный, перепроверьте его в справочнике Валюты.
  • 📦 Скрытые скидки или наценки: В УТ 11 и ERP 2.5 скидки могут применяться автоматически по маркетинговым акциям. Посмотрите закладку Скидки в документе.
  • 🔗 Связанные документы: Сумма в Реализации может отличаться от суммы в Счёте-фактуре, если там указаны дополнительные услуги или корректировки. Сверяйте связанные документы через ссылку На основании.

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

💡

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

6. Автоматизация подсчёта сумм: обработки и внешние отчёты

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

Способ 1: Внешняя обработка заполнения

Подходит для массового пересчёта сумм в документах. Пример кода для обработки, которая добавляет колонку с суммой в рублях по курсу на дату оплаты:

Процедура ЗаполнитьСуммыВРублях(Документы)

Для Каждого Док Из Документы Цикл

Курс = ПолучитьКурсВалют(Док.Валюта, Док.ДатаОплаты);

Для Каждого Строка Из Док.Товары Цикл

Строка.СуммаВРублях = Строка.Сумма * Курс;

КонецЦикла;

КонецЦикла;

КонецПроцедуры

Способ 2: Внешний отчёт с произвольной логикой

Если нужно анализировать суммы по сложным критериям (например, "посчитать сумму реализаций товаров красного цвета с наценкой более 20%"), создайте внешний отчёт:

  1. В Конфигураторе создайте новый объект Внешний отчёт.
  2. Добавьте параметры (например, ДатаНачала, ДатаОкончания, Контрагент).
  3. Напишите запрос с нужной логикой (см. примеры в разделе 4).
  4. Добавьте вывод результатов в таблицу или диаграмму.

Способ 3: Регламентное задание

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

  1. Откройте АдминистрированиеРегламентные и фоновые задания.
  2. Создайте новое задание с типом Выполнить код.
  3. Вставьте код расчёта сумм (аналогично примерам выше).
  4. Установите расписание (например, ежедневно в 18:00).
  5. Настройте отправку результатов на email (опционально).

⚠️ Внимание: При создании обработок для подсчёта сумм в регламентированных документах (например, в Счётах-фактурах или Актах выполненных работ) убедитесь, что ваша логика не противоречит законодательству. Например, сумма НДС должна рассчитываться строго по правилам ст. 168 НК РФ.

7. Специфика подсчёта сумм в разных конфигурациях 1С

Алгоритмы расчёта сумм могут отличаться в зависимости от конфигурации. Рассмотрим ключевые особенности:

Конфигурация Особенности подсчёта сумм Где искать итоги Типичные ошибки
Бухгалтерия 3.0 Суммы зависят от плана счетов и субконто. НДС рассчитывается автоматически по ставкам. В шапке документа (Сумма) и в проводках (Дебет/Кредит). Расхождения из-за неверных счетов учёта или субконто.
Управление Торговлей 11 Суммы учитывают скидки, бонусы и маркетинговые акции. Есть отдельные поля для сумм с НДС и без. В табличных частях (Товары, Услуги) и в печатных формах. Неучтённые скидки или неверные цены номенклатуры.
Зарплата и Управление Персоналом 3.1 Суммы зависят от начислений, удержаний и вычетов. Рассчитываются по формулам. В документах Начисление зарплаты (закладка Результаты). Ошибки в формулах расчёта или неверные данные о сотрудниках.
ERP 2.5 Сложная логика с учётом резервов, ордеров и производственных затрат. В закладках Финансы и Расчёты с контрагентами. Расхождения между производственными и бухгалтерскими суммами.

В Управлении Торговлей 11 и ERP 2.5 суммы могут отличаться в зависимости от типа цен, указанного в документе. Например, если в Реализации выбрана цена Розничная, а в справочнике номенклатуры для товара установлена цена Оптовая, итоговая сумма будет неверной. Всегда проверяйте:

  1. Тип цен в шапке документа (Цены и валюта).
  2. Соответствие цен в справочнике Номенклатура.
  3. Наличие индивидуальных цен для контрагента (закладка Цены и скидки).
💡

В ЗУП 3.1 для проверки сумм начислений используйте отчёт Анализ начислений по сотрудникам. Он показывает детализацию по каждому виду начислений (оклад, премия, больничный) и удержаний (НДФЛ, алименты).

FAQ: Частые вопросы о подсчёте сумм в 1С

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

Если в табличной части нет колонки Сумма, её можно добавить:

  1. Откройте документ в режиме Конфигуратор.
  2. Найдите объект документа в дереве метаданных.
  3. Откройте табличную часть (например, Товары).
  4. Добавьте новое поле с типом Число и именем Сумма.
  5. В модуле документа пропишите расчёт суммы в процедуре ПриИзменении для колонок Количество и Цена.

Без доступа к конфигуратору можно экспортировать данные в Excel (кнопка Выгрузить) и посчитать сумму там.

Почему сумма в документе не совпадает с суммой в печатной форме?

Это типичная проблема, которая возникает по следующим причинам:

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

Решение:

  1. Обновите печатную форму (кнопка Обновить в окне предварительного просмотра).
  2. Проверьте настройки печатной формы в Конфигураторе (раздел Печатные формы).
  3. Сравните суммы в шапке документа и в табличной части — если они совпадают, проблема именно в печатной форме.
Как посчитать сумму по нескольким документам одного типа?

Используйте стандартные отчёты или напишите запрос:

  1. Для Бухгалтерии 3.0: отчёт Обороты между субконто с группировкой по документам.
  2. Для УТ 11: отчёт Ведомость по документам реализации.
  3. Универсальный способ — запрос на языке :
ВЫБРАТЬ

ДокументРеализация.Ссылка КАК Документ,

СУММА(ДокументРеализация.СуммаДокумента) КАК ИтоговаяСумма

ИЗ

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

ГДЕ

ДокументРеализация.Дата МЕЖДУ &НачалоПериода И &КонецПериода

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

ДокументРеализация.Ссылка

Можно ли посчитать сумму по документу с учётом будущих платежей?

Да, но для этого нужно использовать механизм графика платежейУТ 11 и ERP 2.5) или регламентные операцииБухгалтерии 3.0). Пример:

  1. Откройте документ Реализация товаров.
  2. Перейдите на закладку Оплата или График платежей.
  3. Добавьте будущие платежи с указанием дат и сумм.
  4. Итоговая сумма с учётом графиков будет отображаться в поле К оплате или Ожидаемая сумма.

Для программного расчёта используйте объект ГрафикПлатежей:

ОжидаемаяСумма = 0;

Для Каждого Платеж Из ДокументОбъект.ГрафикПлатежей Цикл

ОжидаемаяСумма = ОжидаемаяСумма + Платеж.Сумма;

КонецЦикла;

Как экспортировать суммы из документов в Excel для дальнейшего анализа?

Способы экспорта:

  • Стандартный экспорт: в документе нажмите ЕщёВыгрузитьExcel.
  • Через отчёт: сформируйте отчёт (например, Ведомость по документам), затем экспортируйте его в Excel.
  • Программно: используйте объект ExcelДокумент:
Excel = Новый COMОбъект("Excel.Application");

Книга = Excel.Workbooks.Add();

Лист = Книга.Worksheets(1);

Лист.Cells(1,1).Value = "Документ";

Лист.Cells(1,2).Value = "Сумма";

СтрокаExcel = 2;

Для Каждого Док Из Документы Цикл

Лист.Cells(СтрокаExcel,1).Value = Док.Номер;

Лист.Cells(СтрокаExcel,2).Value = Док