Почему в 1С:Комплексная автоматизация и ERP в платежном поручении нет курса валюты и как настроить автоматический пересчет?

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

Переход со старых систем автоматизации (таких как «1С:Управление производственным предприятием», редакция 1.3) на современные программные продукты платформы «1С:Предприятие 8.3» (например, «1С:ERP Управление предприятием» или «1С:Комплексная автоматизация», редакции 2.4 и 2.5) часто сопровождается вопросами со стороны бухгалтеров и специалистов казначейства. Один из самых распространенных вопросов касается оформления платежей по импортным или валютным контрактам: почему в документе «Списание безналичных денежных средств» (платежном поручении) отсутствует привычное поле «Курс валюты»?

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

Выясним причину: почему разработчики убрали поле «Курс» из платежки

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

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

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

Решение 1. Оформление платежа через цепочку документов (стандартный подход)

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

Выполним следующие шаги:

  1. Оформим документ Заказ поставщику. В соглашении или в самом заказе укажем, что взаиморасчеты ведутся в валюте (например, USD), а оплата производится в этой же валюте или в рублях (у.е.). В документе фиксируется точная сумма спецификации или счета на оплату.
  2. На основании «Заказа поставщику» создадим документ Заявка на расходование денежных средств (если в системе включено использование заявок в разделе «Казначейство»). В заявке автоматически заполнятся валютная сумма и плановая рублевая сумма по курсу ЦБ на дату планируемого платежа.
  3. На основании утвержденной «Заявки на расходование ДС» (или непосредственно на основании «Заказа поставщику», если заявки не используются) создадим документ Списание безналичных денежных средств.

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

Решение 2. Использование возможностей управления курсами в договорах (для версий 2.5 и выше)

Если мы работаем в современных релизах «1С:Комплексная автоматизация» (начиная с версий 2.5.9 и выше), то в нашем распоряжении есть отличный инструмент гибкой настройки курсов валют непосредственно внутри карточки договора с контрагентом.

Проанализируем настройки договора:

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

Решение 3. Работа через «Реестр платежей» и платежный календарь

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

Шаг 1. Все менеджеры по закупкам формируют Заявки на расходование ДС в валюте на основе счетов поставщиков.

Шаг 2. Казначей заходит в рабочее место Реестр платежей или Платежный календарь.

Шаг 3. В случае изменения курса валюты перед отправкой реестра в банк казначей использует стандартную команду Переоценить позиции. Система автоматически обращается к актуальным загруженным курсам валют и мгновенно пересчитывает рублевые эквиваленты по всем заявкам, подготовленным к оплате на сегодня.

Шаг 4. На основе утвержденного реестра система автоматически генерирует пакет документов «Списание безналичных ДС» с уже заполненными и выверенными рублевыми суммами.

Решение 4. Разработка небольшого расширения (для программистов)

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

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


&НаКлиенте
Процедура Расш_СуммаВВалютеПриИзмененииПосле(Элемент)
    
    // Вызываем серверный метод для получения курса и расчета рублевой суммы
    СтруктураПараметров = ПолучитьПараметрыПересчетаНаСервере(Объект.Ссылка, Объект.Дата, Объект.Валюта);
    
    Если СтруктураПараметров.Курс > 0 Тогда
        // Рассчитываем сумму в рублях
        Объект.Сумма = Объект.СуммаВВалюте * (СтруктураПараметров.Курс / СтруктураПараметров.Кратность);
    КонецЕсли;

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

&НаСервереБезКонтекста
Функция ПолучитьПараметрыПересчетаНаСервере(СсылкаНаДокумент, ДатаДокумента, ВалютаДокумента)
    
    Результат = Новый Структура("Курс, Кратность", 0, 1);
    
    // Обращаемся к менеджеру валют для получения актуального курса на дату платежа
    ИнформацияОВалюте = Справочники.Валюты.ПолучитьКурсВалюты(ВалютаДокумента, ДатаДокумента);
    
    Результат.Курс = ИнформацияОВалюте.Курс;
    Результат.Кратность = ИнформацияОВалюте.Кратность;
    
    Возврат Результат;

КонецФункции

Данный код перехватывает событие изменения реквизита СуммаВВалюте на форме, получает актуальные данные курса из регистра сведений на дату документа и заполняет основную рублевую сумму (Объект.Сумма). Это решает проблему «маленького калькулятора», о котором упоминалось в обсуждении на форуме.

Бухгалтерские нюансы учета валютных авансов

При оплате поставщику в валюте бухгалтеру важно помнить о требованиях законодательства (в частности, ПБУ 3/2006 «Учет активов и обязательств, стоимость которых выражена в иностранной валюте»):

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

← На главную