Как исправить ошибку 500 при автозаполнении контрагента по ИНН в 1С?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

При работе в типовых и доработанных конфигурациях 1С (например, 1С:Управление производственным предприятием 1.3 или старых редакциях других конфигураций) при попытке заполнить данные контрагента по ИНН может возникать ошибка обращения к веб-сервису.

В окне сообщений появляется системная ошибка следующего вида: {ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль}: Ошибка при вызове конструктора (WSОпределения) по причине: При создании описания сервиса произошла ошибка. URL сервиса: https://api.orgregister.1c.ru/orgregister/v2?wsdl Код ответа сервера: 500.

Разберем детально, почему возникает данный сбой и какие способы позволяют восстановить корректную работу сервиса автозаполнения реквизитов.

Причина возникновения ошибки

Сервис «1С:Контрагент» обращается к удаленным веб-сервисам фирмы «1С». Со временем протоколы и точки подключения устаревают и выводятся из эксплуатации. Ошибка 500 (Internal Server Error) или 503 (Service Unavailable) при попытке загрузить WSDL-описание по адресу https://api.orgregister.1c.ru/orgregister/v2?wsdl означает, что указанная версия веб-сервиса была отключена разработчиками на стороне провайдера сервиса.

В нетиповых или давно не обновлявшихся базах алгоритм продолжает слать запросы к недействующей точке входа, что и приводит к падению конструктора WSОпределения.

Способ 1. Обновление конфигурации до актуального релиза

Для типовых конфигураций наиболее правильным решением является обновление. Разработчики переносят механизмы взаимодействия на новые версии интерфейсов в составе типовых обновлений и Библиотеки стандартных подсистем (БСП).

  1. Выясним текущую версию конфигурации через меню «Справка — О программе».
  2. Если используется конфигурация «Управление производственным предприятием 1.3», автоматическое переключение на обновленный интерфейс реализовано начиная с релиза 1.3.78 и выше.
  3. Выполним обновление конфигурации на актуальный релиз через режим «Конфигуратор».

Способ 2. Корректировка кода вызова веб-сервиса в нетиповой конфигурации

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

Посмотрим на пример изменения кода в модуле, отвечающем за интеграцию с сервисом:


Функция АдресСервиса()
    Возврат "https://api.orgregister.1c.ru/orgregister/v7?wsdl";
КонецФункции

// Создание прокси для выполнения запросов
Прокси = ОбщегоНазначения.WSПрокси(
    АдресСервиса(),                             // АдресWSDL
    ПространствоИмен(),                         // URIПространстваИмен
    "RequisitesWebServiceEndpointImpl7Service", // ИмяСервиса
    "RequisitesWebServiceEndpointImpl7Port",    // ИмяТочкиПодключения
    ПараметрыАутентификации.Логин,              // ИмяПользователя
    ПараметрыАутентификации.Пароль,             // Пароль
    60);

Обратим внимание на то, что при смене версии интерфейса на v7 обязательно должны быть синхронно изменены имя сервиса и имя точки подключения на RequisitesWebServiceEndpointImpl7Service и RequisitesWebServiceEndpointImpl7Port соответственно.

Диагностика сопутствующих проблем и тонкости настройки

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

  1. Наличие действующей подписки и авторизации: Для работы сервиса «1С:Контрагент» требуется действующий договор сопровождения. Убедимся, что в программе введены корректные логин и пароль от портала 1С:ИТС (Информационно-технологического сопровождения) и на аккаунте не исчерпан лимит автозаполнений.
  2. Очистка кэша программных интерфейсов: Платформа 1С кэширует WSDL-схемы. Если после изменения кода сервис не запускается, перейдем через «Все функции» (или «Функции для технического специалиста») в регистр сведений Кэш программных интерфейсов и удалим старые записи, после чего перезапустим клиентский сеанс.
  3. Сетевой доступ и права пользователя сервера 1С: В клиент-серверном варианте базы вызовы веб-сервисов осуществляются от имени службы сервера 1С:Предприятия. Убедимся, что учетная запись операционной системы, под которой запущена служба сервера 1С, имеет прямой выход в интернет и корректный доступ через прокси-сервер (настройки прокси задаются в файле inetcfg.xml).
  4. Поддержка протоколов TLS: Устаревшие версии платформы 1С:Предприятие могут некорректно работать с современными протоколами шифрования HTTPS (TLS 1.2+). При возникновении проблем с установлением защищенного соединения обновим платформу 1С до актуальной версии и проверим системные сертификаты безопасности.

Альтернативные варианты решения

Если конфигурация снята с поддержки или внесение изменений в метаданные нежелательно, рассмотрим альтернативные пути:

  1. Подключение внешней обработки заполнения: Создадим или подключим готовую внешнюю обработку табличных частей и объектов, которая перехватывает заполнение реквизитов контрагента и не требует редактирования основной конфигурации.
  2. Использование внешних REST API: Реализуем интеграцию со сторонними источниками данных через объекты HTTPСоединение и HTTPЗапрос с обработкой ответа в формате JSON. Это позволяет организовать заполнение реквизитов напрямую из открытых реестров юридических лиц и индивидуальных предпринимателей.
← На главную