Как правильно настроить загрузку курса дирхама ОАЭ (AED) в 1С и исправить ошибки с кратностью?

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

В начале 2023 года многие пользователи программных продуктов 1С столкнулись с проблемой при загрузке курсов валют, а именно — дирхама ОАЭ (код AED, цифровой код 784). Курсы выглядели «кривыми», либо загрузка вовсе прекращалась с ошибкой. В данной статье мы подробно разберем, почему это произошло, проанализируем технические нюансы и рассмотрим пошаговые инструкции по исправлению ситуации в вашей информационной базе.

Почему изменился курс и возникли ошибки?

Разберем первопричину. До 18 января 2023 года Центральный Банк Российской Федерации не устанавливал ежедневный официальный курс дирхама ОАЭ. В системах автоматизации и на сайтах-агрегаторах, таких как РБК, часто транслировалось старое фиксированное значение, которое многие годы составляло около 81.2663 за 10 дирхамов. Таким образом, кратность (количество единиц валюты, за которые дается цена в рублях) была равна 10.

Ситуация кардинально изменилась 18 января 2023 года, когда ЦБ РФ включил AED в список валют, для которых устанавливаются официальные ежедневные котировки. При этом изменился подход к котированию: курс стал устанавливаться за 1 единицу валюты (кратность 1). Рассмотрим, к чему это привело в учетных системах:

  1. Произошел визуальный скачок курса с 81 рубля до 18-20 рублей (в зависимости от даты).
  2. Если в справочнике Валюты в 1С не была изменена кратность с 10 на 1 именно с нужной даты, программа продолжала считать, что 20 рублей — это цена за 10 дирхамов, что приводило к занижению курса в 10 раз.
  3. Сервисы загрузки (например, РБК) в переходный период могли выдавать некорректные текстовые файлы, где старые данные с кратностью 10 и новые с кратностью 1 были перемешаны без явного указания изменения параметров.

Обновление классификатора валют

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

  1. Перейдем в справочник Валюты.
  2. Вместо создания валюты вручную, воспользуемся кнопкой Подбор из классификатора.
  3. Найдем в списке дирхама ОАЭ (код 784, символ AED).
  4. Если валюта уже создана, убедимся, что ее параметры соответствуют классификатору. Важнейшим параметром здесь является внутренний идентификатор ЦБ, который для дирхама имеет значение R01230.

Именно наличие идентификатора R01230 в свойствах валюты позволяет программным механизмам 1С обращаться к корректному узлу на сайте Центробанка или РБК.

Корректировка истории курсов и кратности

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

  1. Откроем карточку валюты AED и перейдем по ссылке Курсы валюты.
  2. Найдем запись от 18.01.2023 или 19.01.2023 (дата начала официальных котировок).
  3. В этой записи и во всех последующих Кратность должна быть строго равна 1.
  4. Во всех записях до этой даты Кратность должна оставаться 10 (если вы использовали старые данные).

Важный момент: кратность в 1С — это периодический реквизит. Если вы измените ее в форме списка курсов, программа создаст новую запись в регистре сведений. Убедитесь, что с момента перехода на новые правила котирования расчеты в документах проводятся исходя из актуальной кратности.

Настройка автоматического расчета через формулу

Рассмотрим альтернативный и зачастую более стабильный способ получения курса. Дирхам ОАЭ имеет жесткую привязку к доллару США (USD) в соотношении 1 USD = 3.6725 AED. Если официальный сервис загрузки работает нестабильно, мы можем настроить 1С на автоматический расчет дирхама на основании курса доллара.

Выполним следующие шаги в карточке валюты:

  1. Установим переключатель Способ установления курса в положение Рассчитывать по формуле.
  2. В поле формулы введем выражение: USD / 3.6725.
  3. Убедимся, что курс доллара США в вашей базе загружается регулярно.

Теперь при каждой загрузке курса USD программа автоматически пересчитает курс AED. Этот метод позволяет избежать ошибок, связанных с временными сбоями на стороне серверов РБК или изменениями в структуре их tsv файлов.

Технические детали для разработчиков

Если вы пишете собственную обработку для загрузки курсов или анализируете сырые данные с cbrates.rbc.ru, обратите внимание на структуру файла 784.tsv. Типичная ошибка парсинга возникает из-за того, что разработчики ожидают фиксированную колонку с кратностью, но в переходные периоды данные могут выглядеть так:


// Пример содержимого файла cbrates.rbc.ru/tsv/cb/784.tsv
20230117    10    81.2663
20230118    10    81.2663
20230119    1    18.7511

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

Для проверки корректности загрузки можно использовать следующий фрагмент кода для получения актуального курса с учетом кратности в контексте запроса или встроенного языка:


СтруктураКурса = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ДатаЗапроса, Новый Структура("Валюта", СсылкаНаAED));
Если СтруктураКурса.Кратность > 0 Тогда
    РеальныйКурс = СтруктураКурса.Курс / СтруктураКурса.Кратность;
    // Дальнейшие расчеты
КонецЕсли;

Подведем итоги

Мы выяснили, что «кривые» курсы дирхама — это не системная ошибка 1С, а следствие изменения политики ЦБ РФ и соответствующего изменения параметров котирования. Для корректной работы достаточно обновить Классификатор валют, проверить Идентификатор R01230 и убедиться, что в истории курсов произошел переход кратности с 10 на 1. В случае сомнений в стабильности внешних сервисов, использование формулы привязки к USD является наиболее надежным профессиональным решением.

← На главную