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

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

В работе современного бухгалтера и программиста 1С автоматизация загрузки курсов валют — это базовая функция, сбой которой может привести к серьезным ошибкам в расчетах, переоценке валютных остатков и формировании отчетности. Рассмотрим ситуацию, когда при попытке загрузки данных система выдает ошибку: «[404] Запрашиваемый ресурс не существует на сервере» при обращении к адресу currencyrates.1c.ru.

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

Разбор технической причины ошибки

Ошибка с кодом 404 означает, что файл по указанному пути физически отсутствует на сервере. В контексте загрузки курсов валют из 1С это часто связано с тем, что фирма 1С меняет архитектуру своих веб-сервисов. Раньше многие типовые конфигурации обращались к статическим файлам в формате .tsv, расположенным по структуре папок, соответствующей году и дате. Однако современные требования к безопасности и производительности заставляют переходить на использование API и защищенных соединений.

Проанализируем ситуацию: если ваша конфигурация пытается «по старинке» скачать файл с currencyrates.1c.ru/exchagerate/v1/..., а сервер уже не поддерживает эту структуру, вы получите отказ. Кроме того, важную роль играют сертификаты безопасности TLS. В последнее время российские государственные и окологосударственные сервисы перешли на сертификаты НУЦ Минцифры, которые могут не поддерживаться старыми версиями операционных систем или платформы 1С без предварительной настройки.

Решение №1: Переключение на альтернативный сервер через константу

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

Разберем, как программно изменить этот параметр. Если у вас есть права администратора и доступ к консоли запросов или обработке «Групповое изменение реквизитов», вы можете изменить значение константы ИспользоватьАльтернативныйСерверДляЗагрузкиКурсовВалют. Посмотрим на пример кода, который выполняет это действие:


// Программная активация альтернативного сервера загрузки
Константы.ИспользоватьАльтернативныйСерверДляЗагрузкиКурсовВалют.Установить(Истина);
ИнформационнаяБазаВызов.ОбновитьПараметрыРаботыПрограммы();

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

Решение №2: Проверка сертификатов безопасности и обновление платформы

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

  1. Установка корневых сертификатов Минцифры: Скачайте и установите актуальные корневые сертификаты в хранилище операционной системы (в раздел «Доверенные корневые центры сертификации»). Это позволит компоненте HTTPСоединение корректно устанавливать TLS-сессию.
  2. Обновление платформы: Разработчики 1С выпустили критические обновления для веток 8.3.17, 8.3.18, 8.3.20 и старше. В новых релизах платформы обновлены встроенные списки доверенных сертификатов и изменены алгоритмы работы с защищенными ресурсами. Проверьте, чтобы ваша версия платформы не была устаревшей.
  3. Настройка файла cacert.pem: В некоторых случаях (особенно при работе на Linux-серверах) требуется вручную добавить сертификат в файл cacert.pem, который находится в каталоге установленной платформы 1С.

Решение №3: Настройка через Интернет-поддержку

Современные конфигурации 1С (такие как БП 3.0, ERP 2.5, УТ 11) сильно зависят от настройки «Интернет-поддержки пользователей». Рассмотрим, как проверить эти настройки:

Перейдем в раздел Администрирование — Интернет-поддержка и сервисы. Убедитесь, что логин и пароль от портала ИТС введены корректно и подписка активна. Часто 1С ограничивает доступ к своим серверам курсов валют для пользователей без действующего договора сопровождения. Если интернет-поддержка подключена, попробуйте выполнить команду «Обновить классификаторы» — это может принудительно обновить внутренние адреса сервисов, используемые системой.

Решение №4: Использование прокси-серверов и обход геоблокировок

Рассмотрим ситуацию, когда ваш сервер 1С находится за пределами РФ или использует иностранного провайдера. В периоды усиленной защиты от DDoS-атак серверы 1c.ru могут блокировать запросы с зарубежных IP-адресов. Проанализируем способы решения:

Во-первых, можно настроить российский прокси-сервер в настройках 1С (Администрирование — Настройки прокси-сервера). Во-вторых, как предложили участники обсуждения, можно реализовать собственный «прокси-скрипт» на PHP или другом языке, который будет забирать данные с сайта ЦБ РФ через SOAP и отдавать их вашей 1С. Рассмотрим пример логики такого взаимодействия:


// Пример логики получения данных через кастомный прокси
ПроксиСервер = "https://ваш-прокси-хост.рф/get_rates.php";
Запрос = Новый HTTPЗапрос(ПроксиСервер);
Соединение = Новый HTTPСоединение("ваш-прокси-хост.рф", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
    // Разбор полученного XML или JSON с курсами
КонецЕсли;

Нюансы работы с сайтом РБК

Важно помнить, что сайт РБК является вторичным источником. Как было замечено в обсуждении, иногда РБК отдает курсы с задержкой или показывает данные за «вчера». Это происходит потому, что первоисточником является Центральный Банк РФ, который публикует официальные курсы на завтрашний день обычно после 15:00 по московскому времени. РБК требуется время на синхронизацию своих баз. Поэтому, если вам критична точность «минута в минуту», лучшим решением будет использование прямой загрузки с сайта ЦБ РФ, хотя это может потребовать доработки программного кода вашей конфигурации.

Подводя итог, можно сказать, что наиболее универсальным и быстрым решением для большинства пользователей является установка константы ИспользоватьАльтернативныйСерверДляЗагрузкиКурсовВалют в значение Истина. Это позволяет обойти временные трудности с инфраструктурой 1С и вернуть бухгалтерии возможность работать в привычном режиме.

← На главную