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

Эта статья поможет разобраться, как правильно считать суммы в разных разделах — от ручного ввода в документах до автоматизированных отчётов и программных запросов. Мы рассмотрим 5 основных способов подсчёта (включая малоизвестные приёмы), типичные ошибки и дадим готовые примеры кода для разработчиков. Особое внимание уделим скрытым настройкам, которые влияют на итоговую сумму, но часто остаются незамеченными.

1. Ручной подсчёт сумм в документах 1С

Самый простой способ — сложить числа непосредственно в форме документа. Например, в Реализация товаров и услуг или Поступление (акт, накладная) суммы по строкам табличной части автоматически складываются в поле Итого. Но что делать, если нужно посчитать сумму по определённому критерию (например, только по товарам с НДС 20%)?

Для этого:

  • 📌 Выделите нужные строки в табличной части (удерживая Ctrl или Shift).
  • 📊 Внизу формы появится панель с суммами по выделенным строкам (включая количество, сумму без НДС и с НДС).
  • 🔍 Если панели нет — включите её в настройках формы (Ещё → Настройки → Показывать итоги по выделенным строкам).
💡

В документах с большим количеством строк (более 100) ручной подсчёт может тормозить. В этом случае лучше использовать отчёт Анализ субконто или запрос.

  • 📉 Скидки или наценки, заданные в шапке документа.
  • 🔄 Округления, если они настроены в учётной политике.
  • Что делать, если сумма в документе не сходится с расчётами вручную?

    Если итоговая сумма в документе не совпадает с вашими расчётами, проверьте:

    1. Налоговые ставки — возможно, для некоторых строк применён неверный НДС.

    2. Валюту документа — если валюта отличается от рубля, сумма пересчитывается по курсу на дату документа.

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

    4. Скидки/наценки — они могут применяться как к отдельным строкам, так и ко всему документу.

    2. Автоматический подсчёт через отчёты 1С

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

    Как построить отчёт для подсчёта суммы:

    1. Перейдите в раздел Отчёты (в бухгалтерских конфигурациях обычно в верхнем меню).
    2. Выберите нужный отчёт (например, Анализ субконто для сумм по контрагентам или номенклатуре).
    3. Задайте период и фильтры (например, Счёт = 62.01 и Контрагент = ООО"Ромашка").
    4. Нажмите Сформировать — суммы появятся в колонках Дебет, Кредит или Сальдо.
    Отчёт Для чего подходит Где искать сумму
    Оборотно-сальдовая ведомость Суммы по счётам бухгалтерского учёта Колонки Сальдо начальное, Обороты, Сальдо конечное
    Анализ счёта Детализация проводок по счёту Колонка Сумма в таблице проводок
    Анализ субконто Суммы по контрагентам, номенклатуре, договорам Колонки Дебет, Кредит, Сальдо
    Карточка счёта Хронология изменений по счёту Колонка Сумма с указанием дебет/кредит

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

    📊 Какой отчёт вы используете чаще всего для подсчёта сумм?
    Оборотно-сальдовая ведомость
    Анализ счёта
    Анализ субконто
    Карточка счёта
    Другой

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

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

    Пример запроса для подсчёта суммы реализации по номенклатуре за месяц:

    ВЫБРАТЬ
    

    Номенклатура.Наименование КАК Товар,

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

    ИЗ

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

    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура

    ПО РеализацияТоваровУслугТовары.Номенклатура = Номенклатура.Ссылка

    ГДЕ

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

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

    Номенклатура.Наименование

    Чтобы выполнить этот запрос:

    1. Откройте Сервис → Конструктор запросов (или Все функции → Запросы).
    2. Вставьте текст запроса и нажмите Выполнить.
    3. Укажите параметры (например, &НачалоПериода ='01.01.2026').

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

    Указан правильный период|Поля в SELECT и GROUP BY совпадают|Учтены все необходимые таблицы|Права пользователя позволяют выполнить запрос-->

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

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

    Примеры кода для разных задач:

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

    Сумма = 0;
    

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

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

    КонецЦикла;

    2. Сумма по регистру накопления (например, продажи за период):

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

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

    "ВЫБРАТЬ

    | СУММА(ПродажиОбороты.СуммаОборот) КАК ИтогоПродажи

    |ИЗ

    | РегистрНакопления.Продажи.Обороты(&ПериодНачало, &ПериодКонец,) КАК ПродажиОбороты";

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

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

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

    ИтогоПродажи = Результат.Выбрать.СуммаОборот;

    3. Сумма с учётом курса валют:

    СуммаВРублях = ДокументОбъект.СуммаДокумента * КурсыВалют.ПолучитьКурс(
    

    ДокументОбъект.Валюта,

    ДокументОбъект.Дата

    );

    ⚠️ Внимание: При программном подсчёте сумм в 1С 8.3 учитывайте, что:

    • 🔢 Операции с Число и Денежное могут давать разные результаты из-за округлений.
    • 💱 Если валюта документа не рубли, всегда пересчитывайте сумму через КурсыВалют.ПолучитьКурс.
    • 📅 Дата документа влияет на курс валюты и налоговые ставки.
    💡

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

    5. Подсчёт сумм в отчётах с помощью СКД (Система Компоновки Данных)

    Система Компоновки Данных (СКД) — это мощный инструмент для создания гибких отчётов с автоматическим подсчётом сумм. Она позволяет:

    • 📈 Группировать данные по любым полям (контрагенты, номенклатура, месяцы).
    • 💰 Считать промежуточные и итоговые суммы.
    • 🎨 Настраивать оформление (цвета, шрифты, условное оформление).

    Как создать отчёт с суммами в СКД:

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

    Пример настройки группировки для подсчёта суммы продаж по месяцам:

    // В настройках СКД:
    

    Группировка = Новый ГруппировкаКомпоновкиДанных("Месяц");

    Группировка.Поля.Добавить(Новый ПолеКомпоновкиДанных("Дата.Месяц"));

    Группировка.Итоги.Добавить(Новый ИтогКомпоновкиДанных("СуммаПродаж", ТипИтогаКомпоновкиДанных.Сумма,"СуммаДокумента"));

    ⚠️ Внимание: В СКД суммы могут отличаться от ручных расчётов, если:

    • 🔍 В настройках отчёта включены фильтры (например, только оплаченные документы).
    • 📊 Используются вычисляемые поля с округлением.
    • 📅 Период в отчёте не совпадает с периодом документов.

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

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

    Ошибка Причина Как исправить
    Сумма в документе не совпадает с суммой в отчёте В отчёте учитываются только проведённые документы, а в форме документа — все строки, включая несохранённые. Проверьте статус документа (Проведён или Не проведён).
    Сумма в рублях не сходится с суммой в валюте Курс валюты на дату документа отличается от текущего курса. Посмотрите курс в справочнике Валюты на дату документа.
    Округление копеек в отчёте В настройках учётной политики включено округление до рублей. Проверьте настройки округления в Главное → Настройки программы → Учётная политика.
    Сумма НДС посчитана неверно Для некоторых строк применена неверная ставка НДС (например, 10% вместо 20%). Проверьте ставку НДС в каждой строке табличной части документа.

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

    Что делать, если сумма в отчёте"Анализ счёта" не совпадает с бухгалтерским балансом?

    Это может происходить из-за:

    1. Непроведённых документов — они не попадают в обороты.

    2. Ручных операций — введённых напрямую через Операции (бухгалтерский и налоговый учёт).

    3. Разных периодов — в балансе может быть указан другой интервал.

    4. Ошибок в проводках — проверьте корреспонденцию счетов.

    Для диагностики используйте отчёт Сверка итогов (доступен в сервисных функциях).

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

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

    • 🤖 Создать внешнюю обработку с готовыми запросами.
    • 📊 Настроить регламентное задание для ежемесячного расчёта сумм.
    • 🔧 Использовать расширения конфигурации, если нужны изменения в стандартных отчётах.

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

    Процедура ПодсчетЗадолженности(Команда)
    

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

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

    "ВЫБРАТЬ

    | Контрагенты.Наименование КАК Контрагент,

    | СУММА(РегистрНакопления.ВзаиморасчетыСКонтрагентами.СальдоКонечное) КАК Задолженность

    |ИЗ

    | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаОтчета,) КАК РегистрНакопленияВзаиморасчетыСКонтрагентами

    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты

    | ПО РегистрНакопленияВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка

    |ГДЕ

    | РегистрНакопленияВзаиморасчетыСКонтрагентами.СальдоКонечное <> 0

    |УПОРЯДОЧИТЬ ПО

    | АБС(Задолженность) УБЫВ";

    Запрос.УстановитьПараметр("ДатаОтчета", ТекущаяДата);

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

    Выборка = Результат.Выбрать;

    Пока Выборка.Следующий Цикл

    Сообщить(СтрШаблон("Контрагент: %1, Задолженность: %2", Выборка.Контрагент, Выборка.Задолженность));

    КонецЦикла;

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

    Готовые обработки для подсчёта сумм можно найти:

    • 📂 В Каталоге решений 1С (официальный сайт).
    • 🌐 На форумах (например, Infostart или Клерк.Ру).
    • 💾 В поставке типовой конфигурации (папка ExtForms).
    💡

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

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

    🔹 Почему сумма в документе и в отчёте отличаются на несколько копеек?

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

    • Настройки округления в Главное → Настройки программы → Валюты.
    • Параметр Округлять суммы документов в учётной политике.

    Также расхождения могут возникать из-за валютных переоценок, если документ в иностранной валюте.

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

    Используйте отчёт Анализ субконто с фильтром по типу документа (например, РеализацияТоваровУслуг). Или создайте запрос:

    ВЫБРАТЬ
    

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

    ИЗ

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

    ГДЕ

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

    🔹 Можно ли в 1С посчитать сумму с учётом будущих платежей (например, авансов)?

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

    Для точного расчёта может потребоваться ручная корректировка, так как не всегда автоматически учитывает неоплаченные авансы в будущих периодах.

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

    Есть несколько способов:

    1. В любом отчёте нажмите Ещё → Выгрузить и выберите формат Excel.
    2. Используйте обработку ВыгрузкаВExcel (доступна в стандартной поставке).
    3. Для программной выгрузки используйте код:
      Таблица = Новый ТаблицаЗначений;
      

      Таблица.Выгрузить(ПутьКФайлу, ТипФайлаExcel.Excel2007);

    ⚠️ При выгрузке в Excel суммы могут отображаться без копеек — проверьте формат ячеек в полученном файле.

    🔹 Почему в запросе сумма считается неверно, если использовать GROUP BY?

    Эточная ошибка при работе с СУММА и группировками. Проблема возникает, если:

    • В SELECT указаны поля, которых нет в GROUP BY.
    • Используются вычисляемые поля без правильной агрегации.
    • В запросе есть РАЗЛИЧНЫЕ или ВЫБОР КОГДА без обёртки в агрегатную функцию.

    Пример неправильного запроса:

    ВЫБРАТЬ
    

    Контрагент,

    Договор, // <-- это поле не в GROUP BY!

    СУММА(Сумма) КАК Итого

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

    ГРУППИРОВАТЬ ПО Контрагент

    Исправленный вариант:

    ВЫБРАТЬ
    

    Контрагент,

    СУММА(Сумма) КАК Итого

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

    ГРУППИРОВАТЬ ПО Контрагент