Ситуация, когда при попытке обновить курсы валют система "зависает" или выдает ошибку "Не удалось установить HTTP-соединение с сервером currencyrates.1c.ru", является критической для любой организации, ведущей валютный учет. В таких случаях работа бухгалтерии может остановиться. Рассмотрим детально, почему это происходит и как оперативно восстановить работоспособность сервиса.
Разберем механизм того, как типовые конфигурации 1С (такие как ERP, Бухгалтерия предприятия, Управление производственным предприятием) получают данные. По умолчанию система обращается к шлюзу 1С по адресу currencyrates.1c.ru через порт 443 (протокол HTTPS). Этот сервер выступает посредником между официальными данными Центробанка РФ и конечным пользователем. Когда основной домен 1С становится недоступен из-за технических работ, перегрузки или сетевых сбоев, программа не может получить ответ и "зависает" в ожидании таймаута.
Основные симптомы проблемы:
Не удалось установить HTTP-соединение с сервером currencyrates.1c.ru:443.Валюты даже после успешного (по мнению системы) завершения регламентного задания.Выясним самый быстрый способ восстановления загрузки без изменения программного кода. В платформе 1С предусмотрена возможность переключения на альтернативный источник данных — сервер РБК. Исторически именно РБК был основным источником данных для старых версий 1С, и эта возможность сохранена в современных типовых конфигурациях.
Проанализируем шаги по включению этой опции:
ИспользоватьАльтернативныйСерверДляЗагрузкиКурсовВалют.Истина) и запишем изменения.После включения этой настройки система перестанет обращаться к currencyrates.1c.ru и начнет запрашивать данные с адреса cbrates.rbc.ru. Это позволяет мгновенно "оживить" загрузку, если проблема была именно на стороне серверов 1С.
Важное замечание: сервер РБК отдает данные в формате .tsv. Хотя в данном случае сжатие не используется, полезно знать, как реализована обработка сжатых HTTP-ответов, если формат изменится. Например, ссылка для загрузки доллара США выглядит так:
http://cbrates.rbc.ru/tsv/840/2023/10/25.tsv
Где 840 — код валюты, а далее следует дата. Рассмотрим ситуацию, когда и этот сервер может быть недоступен. В этом случае стоит проверить доступность сайта через обычный браузер.
Рассмотрим более глубокую техническую причину, по которой возникает ошибка 443. Даже если сервер 1С доступен, соединение может блокироваться на уровне протокола безопасности. В последнее время многие российские ресурсы перешли на использование сертификатов безопасности от Минцифры. Если на сервере, где работает 1С, не обновлены корневые сертификаты, программа будет сбрасывать соединение, считая его небезопасным.
Для решения этой проблемы системному администратору необходимо:
Linux, необходимо обновить файл cacert.pem в каталоге установки платформы или настроить использование системного хранилища сертификатов.Проанализируем ситуацию, когда типовые механизмы не справляются. Официальным и самым надежным источником является сайт 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. Прямая загрузка с ЦБ РФ:
Если вы столкнулись с проблемой загрузки курсов прямо сейчас, выполните следующие действия по шагам:
https://currencyrates.1c.ru в браузере.Использовать альтернативный сервер для загрузки курсов валют.Выясним также, что при использовании РБК важно контролировать дату. Иногда сервер может отдавать курс за предыдущий день, если новый еще не опубликован. Всегда сверяйте итоговые цифры в справочнике Валюты с официальным сайтом регулятора после восстановления работы сервиса.