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

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

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

1. Базовые арифметические операции в 1С

Даже простейшие расчёты в имеют свои особенности. В отличие от Excel, где формулы вводятся с знаком "=", в используется синтаксис встроенного языка. Например, чтобы сложить две ячейки в табличной части документа, нужно:

  1. Перейти в режим редактирования (двойной клик по ячейке или F2).
  2. Ввести выражение типа СуммаНДС = Сумма * 0.2 (если речь о расчёте НДС 20%).
  3. Подтвердить ввод Enter.

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

  • Сложение: Итог = Сумма1 + Сумма2
  • Вычитание: Разница = Доход - Расход
  • ✖️ Умножение: СуммаНДС = База * СтавкаНДС
  • Деление: СредняяЗарплата = ФондОплаты / Численность
⚠️ Внимание: При делении в используйте функцию Окр() для округления, иначе возможны ошибки из-за плавающей запятой. Пример: Окр(10 / 3, 2) вернёт 3.33, а не 3.333333...

📊 Какую версию 1С вы используете?
1С:Бухгалтерия 8.3
1С:Управление Торговлей 11
1С:Зарплата и Управление Персоналом 3
1С:ERP 2
Другая

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

Табличные части — это "сердце" большинства документов в : счета, накладные, акты выполненных работ. Здесь расчёты часто зависят от данных в строках. Например, в документе Реализация товаров и услуг сумма по строке рассчитывается как:

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

Но что если цена зависит от скидки или наценки? В этом случае формула усложняется:

Сумма = Количество  (Цена  (1 - Скидка/100))

Чтобы добавить свою формулу:

  1. Откройте документ в режиме редактирования.
  2. Кликните правой кнопкой по заголовку колонки (например, "Сумма").
  3. Выберите Настройка списка → Формула.
  4. Введите выражение (можно использовать реквизиты документа через точку, например, Документ.Валюта).
Тип документа Стандартная формула суммы Пример с учётом скидки
Реализация товаров Количество * Цена Количество Цена (1 - Скидка/100)
Поступление товаров Количество * ЦенаПоступления Количество * (ЦенаПоступления + Наценка)
Акт выполненных работ Объем * Тариф Объем Тариф Коэффициент
⚠️ Внимание: Если в табличной части используются периодические реквизиты (например, цены на определённую дату), убедитесь, что в настройках документа указан корректный период действия. Иначе расчёты будут вестись по устаревшим данным.

Убедиться, что все реквизиты существуют в конфигурации|

Проверить единицы измерения (шт., кг, м² и т.д.)|

Тестировать формулу на крайних значениях (0, отрицательные числа)|

Сохранить документ и переоткрыть для проверки расчётов-->

3. Автоматические расчёты: регламентные операции и обработки

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

Примеры автоматизированных расчётов:

  • 📅 Закрытие месяца: автоматическое списание расходов будущих периодов, расчёт финансового результата.
  • 💰 Начисление зарплаты: расчёт НДФЛ, страховых взносов, больничных.
  • 📦 Переоценка валютных остатков: актуализация курсов по данным ЦБ РФ.
  • 📉 Расчёт амортизации ОС: линейный или нелинейный метод.

Чтобы настроить новую регламентную операцию:

  1. Перейдите в Администрирование → Настройка программы → Регламентные операции.
  2. Создайте новую операцию, укажите период выполнения (ежедневно, ежемесячно).
  3. В поле Алгоритм выберите готовую процедуру или напишите свою на встроенном языке.
  4. Сохраните и запустите тестовое выполнение.
Что делать, если регламентная операция "зависла"?

Если операция выполняется слишком долго (более 30 минут), проверьте:

1. Объём данных: возможно, расчёт идёт по миллионам записей (например, при закрытии года).

2. Блокировки: другие пользователи могут блокировать таблицы (посмотрите в Администрирование → Активные пользователи).

3. Ошибки в алгоритме: откройте журнал регистрации (Администрирование → Журнал регистрации) и найдите сообщения об ошибках.

Если проблема повторяется, разбейте операцию на части или перенесите выполнение на ночное время.

4. Расчёты в отчётах: от простых сводок до сложной аналитики

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

  1. Откройте отчёт, нажмите Настройки → Дополнительные поля.
  2. Добавьте новое поле с типом Вычисляемое.
  3. Введите формулу, например:
    ВыручкаДоля = Выручка / Сумма(Выручка) * 100
  4. Укажите формат отображения (проценты, 2 знака после запятой).

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

  • 📊 Группировать данные по нескольким полям (например, по месяцам и контрагентам).
  • 🔍 Фильтровать записи по условиям (например, только оплаченные счета).
  • 📈 Строить графики и диаграммы на основе расчётных показателей.
⚠️ Внимание: При работе с большими отчётами (более 10 000 строк) отключите автоматический пересчёт. Для этого в настройках отчёта снимите галочку Пересчитывать при изменении. Это ускорит работу, но не забудьте вручную обновить данные перед печатью.

💡

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

5. Расчёт зарплаты: нюансы и типичные ошибки

Модуль 1С:Зарплата и Управление Персоналом автоматизирует большинство расчётов, но ошибки здесь критичны — они ведут к недовольству сотрудников и штрафам от налоговой. Рассмотрим ключевые моменты:

1. Начисления:

  • 💼 Оклад: рассчитывается пропорционально отработанным дням. Формула: Оклад * ОтработаноДней / НормаДней.
  • 🏥 Больничные: зависят от страхового стажа. Первые 3 дня оплачивает работодатель, остальные — ФСС.
  • 👶 Детские пособия: фиксированные суммы, индексируемые ежегодно.

2. Удержания:

  • 💸 НДФЛ: 13% для резидентов, 30% для нерезидентов. Рассчитывается как НалоговаяБаза * СтавкаНДФЛ.
  • 🏦 Страховые взносы: 22% в ПФР, 5.1% в ФОМС, 2.9% в ФСС (на 2026 год).
  • ⚖️ Исполнительные листы: удерживаются по решению суда (до 50% от зарплаты).

Типичные ошибки:

  1. Неверный расчёт среднего заработка: забывают включить премии или используют не тот период (должно быть 12 месяцев).
  2. Двойное удержание НДФЛ: происходит, если вручную добавить удержание поверх автоматического.
  3. Неучтённые вычеты: например, стандартный вычет на ребёнка (1 400 руб. на первого).
💡

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

6. Программирование расчётов: встроенный язык 1С

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

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

Процедура РассчитатьПремию(Выручка, План)

Если Выручка >= План Тогда

Премия = Выручка * 0.05; // 5% от выручки

ИначеЕсли Выручка >= План * 0.9 Тогда

Премия = Выручка * 0.03; // 3% если выполнено 90% плана

Иначе

Премия = 0;

КонецЕсли;

Возврат Премия;

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

Где размещать код:

  • 📄 Модуль документа: если расчёт привязан к конкретному документу (например, Начисление зарплаты).
  • 📊 Модуль отчёта: для динамических вычислений в отчётах.
  • ⚙️ Общий модуль: если функцию нужно использовать в разных частях программы.

Советы по оптимизации:

  • 🔄 Используйте ПоместитьВКэш() для часто используемых данных.
  • ⚡ Заменяйте циклы на запросы к базе (где это возможно).
  • 📌 Комментируйте код — это поможет коллегам (и вам через полгода).
⚠️ Внимание: Перед внедрением нового расчётного алгоритма протестируйте его на копии базы. Ошибки в коде могут привести к некорректным проводкам, которые сложно исправить ретроактивно.

7. Обмен данными и расчёты в распределённых базах

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

  • 🔄 Универсальный формат обмена (XML): подходит для обмена между разными конфигурациями.
  • 📤 Распределённая информационная база (РИБ): синхронизация между идентичными конфигурациями.
  • 🌐 Веб-сервисы: для интеграции с внешними системами (например, банк-клиент или CRM).

Пример задачи: расчёт общего остатка товара по всем складам. Решение:

  1. Настройте обмен данными между базами филиалов и центральным офисом.
  2. В центральной базе создайте отчёт, который суммирует остатки из всех подчинённых баз.
  3. Используйте План обмена для контроля версий данных (чтобы избежать дублей).

Типичные проблемы при обмене:

  • Расхождения в справочниках: например, один и тот же контрагент имеет разные коды в базах.
  • Зависающие транзакции: если обмен прервался, данные могут блокироваться.
  • Несовпадение версий конфигураций: обновите все базы до одинаковой версии.

8. Проверка и исправление ошибок в расчётах

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

1. Инструменты проверки:

  • 🔍 Журнал регистрации (Администрирование → Журнал регистрации): ищите ошибки с уровнем Ошибка.
  • 📋 Отчёт "Анализ субконто": помогает найти расхождения по аналитике.
  • 🔢 Тестовый баланс: сравните дебет и кредит по всем счётам.

2. Типичные ошибки и их исправление:

Ошибка Причина Решение
Не сходится оборотно-сальдовая ведомость Не закрыты все счета на конец месяца Запустите регламентную операцию Закрытие месяца
Отрицательные остатки на складе Оприходование после списания Проверьте даты документов, исправьте последовательность
Неверный НДС в декларации Ошибка в книге покупок/продаж Сверьте данные с отчётом Анализ НДС

3. Ручная корректировка:

Если ошибка найдена, но автоматический пересчёт не помогает, создайте ручные операции:

  1. Перейдите в Операции → Операции, введённые вручную.
  2. Создайте новую операцию с корректирующими проводками.
  3. Укажите комментарий (обязательно!) с объяснением причины исправления.
💡

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

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

Как в 1С посчитать проценты от суммы?

Используйте формулу Сумма Процент / 100. Например, для расчёта 10% от 1000 руб.: 1000 10 / 100 = 100. В документах можно создать вычисляемое поле с такой формулой.

Почему в 1С не сходится дебет с кредитом?

Причины могут быть разные:

  • Не все документы проведены.
  • Ошибка в ручных проводках.
  • Не закрыты регламентные операции (например, амортизация).

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

Как настроить автоматический расчёт скидок в 1С:Управление Торговлей?

Перейдите в НСИ → Скидки (наценки) и создайте новое правило. Укажите:

  • Тип скидки (наценка, скидка).
  • Условие (например, "если сумма заказа > 10 000 руб.").
  • Размер скидки (фиксированная сумма или процент).

Затем в документе Заказ клиента включите флажок Рассчитывать скидки автоматически.

Можно ли в 1С использовать формулы как в Excel?

Да, но с оговорками:

  • В табличных частях документов поддерживаются простые формулы (сложение, умножение и т.д.).
  • Для сложных расчётов (например, ВПР или СУММЕСЛИ) нужно писать код на встроенном языке.
  • В отчётах можно использовать вычисляемые поля с формулами, похожими на Excel.

Для удобства пользователей, привыкших к Excel, в есть надстройка "1С:Excel для 1С", но она платная.

Как исправить округление в 1С, если копейки не сходятся?

Проблема возникает из-за того, что по умолчанию округляет до копеек. Решения:

  1. В настройках документа измените точность округления (например, до 4 знаков).
  2. Используйте функцию Окр() с нужным количеством знаков: Окр(Сумма, 2).
  3. Для отчётов настройте группировку по округлённым значениям.

Если разница в 1 копейку, можно создать ручную операцию на списание/доначисление разницы на счёт 91.02 ("Прочие расходы").