Что делать, если в 1С не загружаются курсы валют и возникает ошибка HTTP-соединения?

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

Ситуация, когда при попытке обновить курсы валют система "зависает" или выдает ошибку "Не удалось установить HTTP-соединение с сервером currencyrates.1c.ru", является критической для любой организации, ведущей валютный учет. В таких случаях работа бухгалтерии может остановиться. Рассмотрим детально, почему это происходит и как оперативно восстановить работоспособность сервиса.

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

Разберем механизм того, как типовые конфигурации 1С (такие как ERP, Бухгалтерия предприятия, Управление производственным предприятием) получают данные. По умолчанию система обращается к шлюзу 1С по адресу currencyrates.1c.ru через порт 443 (протокол HTTPS). Этот сервер выступает посредником между официальными данными Центробанка РФ и конечным пользователем. Когда основной домен 1С становится недоступен из-за технических работ, перегрузки или сетевых сбоев, программа не может получить ответ и "зависает" в ожидании таймаута.

Основные симптомы проблемы:

  1. Длительное ожидание (зависание) при нажатии кнопки "Загрузить курсы".
  2. Сообщение об ошибке: Не удалось установить HTTP-соединение с сервером currencyrates.1c.ru:443.
  3. Отсутствие актуальных данных в справочнике Валюты даже после успешного (по мнению системы) завершения регламентного задания.

Решение №1: Использование альтернативного сервера (РБК)

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

Проанализируем шаги по включению этой опции:

  1. Перейдем в раздел Функции для технического специалиста (ранее назывался "Все функции"). Если этот пункт меню не отображается, его необходимо включить в настройках параметров системы.
  2. В открывшемся окне найдем раздел Константы.
  3. Найдем константу с именем ИспользоватьАльтернативныйСерверДляЗагрузкиКурсовВалют.
  4. Установим флаг (значение Истина) и запишем изменения.

После включения этой настройки система перестанет обращаться к currencyrates.1c.ru и начнет запрашивать данные с адреса cbrates.rbc.ru. Это позволяет мгновенно "оживить" загрузку, если проблема была именно на стороне серверов 1С.

Важное замечание: сервер РБК отдает данные в формате .tsv. Хотя в данном случае сжатие не используется, полезно знать, как реализована обработка сжатых HTTP-ответов, если формат изменится. Например, ссылка для загрузки доллара США выглядит так:

http://cbrates.rbc.ru/tsv/840/2023/10/25.tsv

Где 840 — код валюты, а далее следует дата. Рассмотрим ситуацию, когда и этот сервер может быть недоступен. В этом случае стоит проверить доступность сайта через обычный браузер.

Решение №2: Исправление проблем с SSL-сертификатами

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

Для решения этой проблемы системному администратору необходимо:

  1. Установить актуальные корневые сертификаты Национального удостоверяющего центра в хранилище операционной системы.
  2. Если используется серверная версия 1С на Linux, необходимо обновить файл cacert.pem в каталоге установки платформы или настроить использование системного хранилища сертификатов.
  3. Убедиться, что версия платформы 1С актуальна (релизы ниже 8.3.20 могут иметь сложности с современными алгоритмами шифрования).

Решение №3: Загрузка напрямую с сайта ЦБ РФ (программный метод)

Проанализируем ситуацию, когда типовые механизмы не справляются. Официальным и самым надежным источником является сайт cbr.ru. Однако типовая 1С "из коробки" не всегда умеет работать с ним напрямую без посредников. В этом случае программисты используют расширения или доработку конфигурации. В качестве примера подобной доработки можно использовать обработку для загрузки цен с сайта ЦБ РФ.

Для реализации прямой загрузки можно использовать HTTPСоединение. Посмотрим на пример кода, который позволяет получить XML-данные напрямую от Центробанка:


// Пример получения данных с сайта ЦБ
Соединение = Новый HTTPСоединение("www.cbr.ru", , , , , 30, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/scripts/XML_daily.asp?date_req=" + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy"));
Ответ = Соединение.Получить(Запрос);

Если Ответ.КодСостояния = 200 Тогда
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
    // Далее следует логика парсинга XML и записи в регистр сведений "КурсыВалют"
КонецЕсли;

Этот метод считается наиболее надежным, так как исключает зависимость от работоспособности посредников (1С или РБК). Многие специалисты рекомендуют установить расширение, которое добавляет альтернативную кнопку "Загрузить с ЦБ РФ" в справочник валют.

Сравнение источников данных

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

1. Сервер 1С (по умолчанию):

2. Альтернативный сервер РБК:

3. Прямая загрузка с ЦБ РФ:

Подведем итоги и сформируем план действий

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

  1. Проверьте интернет-соединение на сервере 1С. Попробуйте открыть https://currencyrates.1c.ru в браузере.
  2. Если сайт не открывается, перейдите в 1С в Константы и включите Использовать альтернативный сервер для загрузки курсов валют.
  3. Попробуйте повторить загрузку. В 90% случаев это решает проблему.
  4. Если ошибка сохраняется и связана с SSL (ошибка 443), обратитесь к системному администратору для обновления корневых сертификатов.
  5. В качестве временной меры введите курсы вручную, чтобы не блокировать работу пользователей, пока решается техническая проблема.

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

← На главную