Почему при валютной инкассации в 1С:ERP сумма в рублях равна сумме в валюте и как это исправить?

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

При оформлении операции инкассации безналичных денежных средств в иностранной валюте (например, в евро) пользователи могут столкнуться с ситуацией, когда в проводках регламентированного учета рублевая сумма рассчитывается некорректно. Например, при сумме операции 40 000 EUR формируется проводка по дебету счета 52 и кредиту счета 57.21, где валютная сумма равна 40 000 EUR, а сумма регламентированного учета — 40 000 руб. вместо пересчета по курсу валюты на дату операции.

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

Анализ причин некорректного формирования проводок

Проанализируем работу механизмов подсистемы казначейства и регламентированного учета в конфигурации 1С:ERP.

Для корректного отражения проводок в валюте регламентированного учета система использует служебный регистр сведений «Суммы документов в валюте регл. учета». В момент проведения платежных документов в данный регистр должны записываться рассчитанные рублевые эквиваленты на основании установленных курсов валют.

Однако в коде проведения документа ПоступлениеБезналичныхДенежныхСредств для формирования движений по регистру сведений СуммыДокументовВВалютеРеглУчета установлено жесткое ограничение по видам хозяйственных операций:


&ХозяйственнаяОперация В (
    ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КонвертацияВалюты),
    ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствСДругогоСчета)
)

Хозяйственная операция «Инкассация в банк» не входит в этот список условий. В результате складывается следующая цепочка поведения системы:

  1. Документ с видом операции «Инкассация в банк» проводится, но не формирует записей в регистре сведений СуммыДокументовВВалютеРеглУчета.
  2. При процедуре отражения документа в регламентированном учете алгоритм обращается к данному регистру сведений.
  3. Не обнаружив рассчитанной рублевой суммы в регистре, механизм отражения берет числовое значение напрямую из реквизита суммы самого документа без умножения на курс валюты.
  4. В проводку по счету 52 записывается рублевая сумма, равная номиналу валюты (соотношение 1:1).

Способ 1. Использование альтернативных хозяйственных операций (без доработки)

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

  1. Перечисление между счетами: Использовать операцию «Поступление денежных средств с другого счета» или цепочку списания и поступления, для которых в типовом коде предусмотрен полноценный расчет рублевого эквивалента и запись в служебный регистр.
  2. Сдача наличных в банк: Если операция связана с перемещением из кассы предприятия, использовать связку кассового расхода и банковского поступления с операцией сдачи наличных.

Способ 2. Ручная корректировка проводок

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

  1. Откроем форму отражения документа в регламентированном учете (проводки документа).
  2. Установим флаг «Ручная корректировка (разрешает редактирование движений документа)».
  3. В строке проводки Дт 52 — Кт 57.21 вручную скорректируем значение в колонке суммы регламентированного учета, рассчитав ее по формуле: Сумма в валюте * Курс валюты на дату документа.
  4. Сохраним изменения.

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

Способ 3. Программное исправление через механизм расширений

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

Рассмотрим, какие действия необходимо выполнить разработчику:

  1. Создать расширение конфигурации в режиме совместимости с основной базой данных.
  2. Подключить к расширению документ ПоступлениеБезналичныхДенежныхСредств или регистр сведений СуммыДокументовВВалютеРеглУчета.
  3. Переопределить или расширить процедуру формирования движений по расчету рублевых сумм документа, добавив обработку хозяйственной операции ИнкассацияВБанк:
    
    Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнкассацияВБанк Тогда
        // Расчет суммы в валюте регламентированного учета по курсу и кратности на дату документа
        // и запись в набор движений регистра СуммыДокументовВВалютеРеглУчета
    КонецЕсли;
    
  4. После подключения расширения перепровести проблемные документы и выполнить повторное отражение в регламентированном учете.

В современных редакциях конфигурации (начиная с ERP 2.4 и 2.5) архитектура параллельного учета денежных средств и формирования курсовых разниц была существенно переработана, поэтому регулярное обновление конфигурации до актуальных релизов также снимает данное ограничение на уровне типового функционала.

← На главную