Как исправить некорректные проводки в документе "Корректировка поступления" в УПП 1.3.127.1?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет Промышленность, строительство и АПК
← На главную

После обновления конфигурации «Управление производственным предприятием» (УПП) до релиза 1.3.127.1 (и последующего 1.3.128.1) многие пользователи столкнулись с критической проблемой. Документ Корректировка поступления с видом операции «Корректировка по согласованию сторон» начал формировать некорректные бухгалтерские проводки. Если раньше система делала привычное сторно по счетам 10.05, 19.03 и 60.01, то в новых версиях появились странные обороты по дебету и кредиту, которые не только затрудняют анализ, но и искажают данные в регистрах учета затрат.

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

Анализ причины возникновения ошибки

Давайте проанализируем ситуацию. В релизе 1.3.127.1 разработчики 1С внесли изменения в механизмы формирования проводок для уточнения учета в случаях, когда корректировка происходит в периодах, отличных от периода первичного поступления. Это особенно актуально для РАУЗ, где себестоимость может уточняться в течение долгого времени.

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

Способ исправления через изменение программного кода

Если ваша конфигурация находится на поддержке с возможностью редактирования, мы можем применить исправление в модуле объекта документа КорректировкаПоступления. Рассмотрим пошагово, какие изменения необходимо внести в процедуру СформироватьПроводки.

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

Шаг 1. Перейдите в модуль объекта документа КорректировкаПоступления и найдите процедуру СформироватьПроводки.

Шаг 2. Найдите участок кода, где рассчитываются коэффициенты К1 и К2. Мы модифицируем логику, чтобы система корректно определяла необходимость формирования движений.


// Коэффициент текущего месяца
К1 = ?(СписатьПоСтрКоличество <> 0 ИЛИ НачалоМесяца(СтруктураШапкиДокумента.ДокументПоступленияДата) = НачалоМесяца(СтруктураШапкиДокумента.Дата), 1, ?(КоличествоДоИзменения <> 0, Мин(КоличествоНачалоМесяца / КоличествоДоИзменения, 1), 1));

// Коэффициент текущего года
К2 = ?(Год(СтруктураШапкиДокумента.ДокументПоступленияДата) = Год(СтруктураШапкиДокумента.Дата), 1, ?(КоличествоДоИзменения - КоличествоНачалоМесяца <> 0, Мин((КоличествоНачалоГода - КоличествоНачалоМесяца) / (КоличествоДоИзменения - КоличествоНачалоМесяца), 1), 1));

// Коэффициент прошлого года
К3 = 1;

// Добавляем определение переменной для идентификации возврата
ЭтоВозвратПоставщику = ?(СтрокаТовары.Количество < 0, Истина, Ложь); 

Шаг 3. Далее необходимо обернуть блок формирования проводок в условие проверки флага ФормироватьПроводки. Это позволит избежать создания «пустых» или избыточных записей в тех случаях, когда алгоритм расчета коэффициентов выдает неоднозначный результат.


Если ФормироватьПроводки Тогда
    // Здесь располагается стандартный блок формирования проводок Дт/Кт
    // Если СтрКоличество <> 0 ИЛИ СтрСуммаБУ <> 0 Тогда ...
КонецЕсли;

Этот «костыль» принудительно ограничивает систему в создании лишних движений, если математическая логика РАУЗ пытается распределить суммы там, где требуется обычное сторно.

Особенности учета при валютных договорах

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

В релизе 1.3.128.1 была замечена ошибка, при которой система игнорирует курс аванса или неверно рассчитывает курсовую разницу при корректировке. В этом случае на счете 60 могут «зависать» копейки или значительные суммы в рублях при нулевом валютном остатке. Если вы работаете с валютой, рекомендуем крайне внимательно проверять оборотно-сальдовую ведомость по счету 60 после проведения корректировок и, при необходимости, корректировать рублевые суммы вручную или через расширение.

Нюансы НДС и регламентированной отчетности

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

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

Для исправления ситуации с НДС без изменения кода можно воспользоваться документом Отражение НДС к вычету или Восстановление НДС, но это потребует ручного контроля каждой операции.

Что делать, если нельзя менять код конфигурации?

Если ваша компания придерживается политики «типовой конфигурации без изменений», рассмотрим альтернативные варианты решения:

  1. Использование расширений: Хотя УПП 1.3 — это решение на обычных формах, современные версии платформы 8.3 позволяют использовать механизм расширений. Вы можете вынести исправленную процедуру СформироватьПроводки в расширение, сохранив основную конфигурацию на замке.
  2. Ручная корректировка проводок: В самом документе Корректировка поступления можно включить флаг «Ручная корректировка» (если это предусмотрено вашими правами) и исправить проводки на правильное сторно. Однако помните, что при перепроведении документа эти правки могут быть утеряны или потребуют повторной проверки.
  3. Документ «Операция (бухгалтерский и налоговый учет)»: Если документ корректировки уже сформировал неправильные движения в закрытом периоде, а регистры накопления при этом в порядке, можно сторнировать только бухгалтерские проводки с помощью ручной операции.

Подводя итог, можно сказать, что данная проблема является признанной технической ошибкой релизов 1.3.127.1–1.3.128.1. Наиболее правильным долгосрочным решением будет обновление на последующие релизы (выше 1.3.128), где разработчики 1С обещали вернуться к более стабильной схеме формирования проводок без избыточного деления по коэффициентам РАУЗ.

← На главную