Почему сумма в проводках документа «Поступление безналичных ДС» не совпадает с суммой самого документа в 1С:КА 2?

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет
← На главную

В процессе работы с конфигурацией 1С:Комплексная автоматизация 2 (релиз 2.4.7.109 и аналогичные) пользователи часто сталкиваются с неприятной ситуацией: документ Поступление безналичных денежных средств проводится успешно, однако при просмотре проводок выясняется, что сумма по счету 51 и корреспондирующему счету 62 (или 60) не соответствует итоговой сумме документа. Давайте подробно разберем, почему это происходит, как выявить причину и какими способами можно решить данную проблему.

Анализ механизма формирования проводок в 1С:КА 2

Для начала нам необходимо понять фундаментальное отличие 1С:КА 2 и 1С:ERP от более простых конфигураций (например, 1С:Бухгалтерия). В современных системах на базе «1С:Предприятие 8.3» проводки в регламентированном учете практически никогда не формируются напрямую из табличных частей документа. Процесс выглядит следующим образом:

  1. При проведении документ делает записи в регистры накопления (оперативный учет). Ключевыми для нашей проблемы являются регистры: Расчеты с клиентами, Детализация расчетов и Движения Денежные средства - Контрагент.
  2. Механизм формирования проводок (отложенное отражение в регл. учете) считывает данные из этих регистров.
  3. На основании накопленных данных в регистрах система «рисует» проводки по счетам бухгалтерского учета.

Вывод: если сумма в проводках некорректна, значит, документ неверно сформировал движения по регистрам оперативного учета. Ошибка кроется именно в распределении сумм внутри регистров.

Выяснение причины: многострочная расшифровка платежа

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

Допустим, общая сумма документа составляет 100 рублей. В расшифровке указаны две строки:

  1. Первая строка: Контрагент «Головной офис», сумма 50 рублей. При этом реальный долг этого партнера по договору составляет всего 40 рублей.
  2. Вторая строка: Контрагент «Магазин», сумма 50 рублей.

В нормальной ситуации система должна была закрыть долг в 40 рублей, отправить 10 рублей на аванс по первому контрагенту и полностью отразить 50 рублей по второму. Однако из-за ошибки в алгоритмах релиза 2.4.7 происходит сбой. Как только система видит, что по первой строке сумма распределения (50 руб.) больше суммы фактического долга (40 руб.), она корректно обрабатывает этот «перехлест», но зачастую игнорирует последующие строки расшифровки при формировании проводок по регламентированному учету.

В результате мы видим проводку только на 50 рублей (сумма первой строки), а остальные 50 рублей «повисают» в оперативном учете, но не попадают в бухгалтерский.

Проверка через регистр «Движения Денежные средства - Контрагент»

Чтобы подтвердить эту теорию, проанализируем движения документа. Нам нужно обратить внимание на регистр накопления Движения Денежные средства - Контрагент. Именно этот регистр является «мостиком» между денежными средствами и взаиморасчетами для целей бухгалтерии.

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

Способы решения проблемы

Существует несколько вариантов решения, от оперативных «костылей» до системного исправления.

Вариант 1. Изменение логики расшифровки (Оперативный)

Как показала практика, если изменить суммы в расшифровке таким образом, чтобы распределение не превышало текущий долг в первой строке, проводки формируются корректно.

Вернемся к нашему примеру: если мы укажем в первой строке 40 рублей (ровно сумму долга), а во второй — 60 рублей, то система увидит полную сумму 100 рублей и сформирует проводки правильно. Это временное решение, которое помогает «протолкнуть» документ в бухгалтерию без изменения кода.

Вариант 2. Разделение документа

Если взаиморасчеты сложные и подстроить суммы под долг невозможно, рекомендуется не оформлять многострочные документы. Вместо одного документа на 100 рублей с двумя строками расшифровки, создайте два отдельных документа «Поступление безналичных ДС» по 50 рублей каждый. Это гарантирует правильное отражение в регистрах и отсутствие конфликтов при формировании проводок.

Вариант 3. Использование корректировки регистров

Если документов много и переделывать их нет возможности, можно воспользоваться документом Корректировка регистров. Нам необходимо вручную привести в соответствие остатки в регистрах Расчеты с клиентами и Движения Денежные средства - Контрагент. Однако это крайне трудоемкий процесс, который может привести к ошибкам в будущем при зачете авансов.

Вариант 4. Обновление конфигурации (Системный)

Поскольку проблема признана разработчиками 1С (ошибка зафиксирована в ветке 2.4.7), наиболее правильным решением будет обновление конфигурации. В более поздних релизах (начиная с 2.4.11 и выше) логика работы общего модуля ДенежныеСредстваСервер была пересмотрена.

Разберем, какой код отвечает за распределение (упрощенно):


// В процедурах формирования движений 1С:КА/ERP
// Происходит обход таблицы расшифровки платежа
Для Каждого СтрокаРасшифровки Из ТаблицаРасшифровки Цикл
    // Если алгоритм ошибочно берет итоговую сумму документа 
    // вместо суммы текущей строки расшифровки
    Движение = Движения.ДенежныеСредстваКонтрагент.Добавить();
    Движение.Сумма = ?(ОшибкаРелиза, Объект.СуммаДокумента, СтрокаРасшифровки.Сумма);
КонецЦикла;

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

Пошаговый алгоритм проверки для администратора/программиста

Если вы столкнулись с расхождением сумм, выполните следующие шаги:

  1. Проанализируйте объект расчетов: Убедитесь, что в каждой строке расшифровки указан правильный ОбъектРасчетов (Договор, Заказ или Накладная).
  2. Сравните с долгом: Проверьте отчет «Задолженность клиентов по срокам». Если сумма в строке документа больше долга по этой аналитике, вы в зоне риска.
  3. Перепроведение с очисткой: Иногда помогает полная отмена проведения, очистка движений в журнале Отражение документов в регламентированном учете и повторное проведение.
  4. Проверка онлайн-взаиморасчетов: Зайдите в НСИ и администрирование -> Настройка НСИ и разделов -> Взаиморасчеты. Посмотрите, включен ли режим «Онлайн». Если да, система распределяет взаиморасчеты мгновенно, и любая ошибка в ТЧ сразу портит регистры.

Важный совет: В 1С:КА 2.4 всегда следите за тем, чтобы Партнер и Контрагент в шапке документа соответствовали тем, что указаны в расшифровке. Смешивание разных контрагентов в рамках одного документа при наличии авансов — это «слабое место» старых релизов ERP-систем.

← На главную