Как получить данные с сайта Федресурс (bankrot.fedresurs.ru) с установкой отборов в 1С

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

При автоматизации процессов, связанных с проверкой контрагентов или мониторингом процедур банкротства, разработчики 1С часто сталкиваются с задачей получения данных с портала Федресурс (bankrot.fedresurs.ru). Типичная проблема заключается в том, что обычная загрузка страницы через HTTPСоединение или КопироватьФайл не позволяет применить фильтры по должнику или типу сообщения, так как сайт использует сложные механизмы обработки запросов.

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

Почему не получается получить страницу с отбором через обычную ссылку

Рассмотрим ситуацию: вы заходите на сайт Федресурса, устанавливаете фильтр по ИНН должника или типу сообщения, нажимаете кнопку «Поиск», но адрес в строке браузера не меняется. Проанализируем причину этого поведения. Сайт работает на основе POST-запросов и AJAX-технологий. Это означает, что:

  1. Данные не передаются в URL (как в GET-запросах), а отправляются в теле запроса в скрытом виде.
  2. Содержимое страницы подгружается динамически. В исходном HTML-коде, который получит 1С при простом запросе, таблицы с результатами просто не будет — её отрисовывает браузер уже после выполнения JavaScript-сценариев.
  3. Сайт защищен системами мониторинга (например, QRator), которые блокируют автоматизированные запросы, имитирующие действия пользователя.

Поэтому метод КопироватьФайл(СсылкаСОтбором, Путь) в данном случае будет бесполезен. Разберем правильные способы реализации задачи.

Способ 1: Использование официального веб-сервиса (SOAP)

Наиболее надежный и легальный способ получения данных — использование официального программного интерфейса, предоставляемого оператором ЕФРСБ (АО «Интерфакс»). Для этого в 1С используется объект WS-ссылки.

Рассмотрим шаги для реализации:

  1. Получение доступа: Необходимо заключить договор с АО «Интерфакс». Вам предоставят логин и пароль для доступа к SOAP-сервису, которые отличаются от данных для входа в личный кабинет сайта.
  2. Создание WS-ссылки: В конфигураторе 1С добавьте новую WS-ссылку, указав адрес WSDL-описания (его можно найти в справочном разделе сайта Федресурс).
  3. Программный вызов: Используйте метод GetMessageList для получения списка сообщений по заданным критериям.

Посмотрим на пример кода для вызова веб-сервиса:


// Создание прокси для работы с сервисом
Определения = Новый WSОпределения(АдресWSDL, Логин, Пароль);
Прокси = Новый WSПрокси(Определения, "http://fedresurs.ru/messages", "MessageService", "MessageServiceSoap");
Прокси.Пользователь = Логин;
Прокси.Пароль = Пароль;

// Формирование фильтра (отбора)
Фильтр = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://fedresurs.ru/messages", "MessageSearchFilter"));
Фильтр.DebtorInn = "7700000000"; // ИНН должника
Фильтр.Type = "BankruptcyMessage"; // Тип сообщения

// Получение данных
Результат = Прокси.GetMessageList(Фильтр);

Этот метод позволяет четко устанавливать отборы и получать структурированные данные (XML), которые легко обрабатываются в 1С без необходимости «разбирать» HTML-код.

Способ 2: Использование сторонних API-агрегаторов

Если процесс заключения прямого договора с «Интерфаксом» кажется слишком сложным или дорогим, можно воспользоваться услугами посредников (агрегаторов данных). Такие сервисы собирают информацию с Федресурса и предоставляют её через современные REST API в формате JSON.

Проанализируем преимущества этого подхода:

Пример получения данных через стороннее API:


Соединение = Новый HTTPСоединение("api.service-provider.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/v1/fedresurs/messages?inn=7700000000&token=ВАШ_ТОКЕН");

Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
    Данные = ПрочитатьJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();
    // Обработка полученного массива сообщений
КонецЕсли;

Способ 3: Имитация запросов (для опытных разработчиков)

Если необходимо реализовать решение без дополнительных затрат, можно попытаться воспроизвести POST-запрос, который отправляет браузер при нажатии кнопки поиска. Для этого выясним структуру параметров через консоль разработчика в браузере (F12 -> вкладка Network).

Важные моменты:

Рассмотрим структуру формирования такого запроса в 1С:


ЗаголовокЗапроса = Новый Соответствие;
ЗаголовокЗапроса.Вставить("Content-Type", "application/x-www-form-urlencoded");
ЗаголовокЗапроса.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64)");

ТелоЗапроса = "propertyName=Value&debtorInn=7700000000&messageType=123"; // Пример параметров отбора

Запрос = Новый HTTPЗапрос("/Messages.aspx", ЗаголовокЗапроса);
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);

Соединение = Новый HTTPСоединение("bankrot.fedresurs.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
Ответ = Соединение.ОтправитьДляОбработки(Запрос);

Рекомендации по выбору решения

Выясним, какой метод лучше подходит для ваших задач:

  1. Официальный SOAP: Идеален для крупных компаний и государственных структур, где важна юридическая чистота данных и стабильность канала связи. Требует официальной регистрации.
  2. REST API агрегаторов: Лучший выбор для среднего и малого бизнеса. Быстрый запуск, понятные форматы данных (JSON), но требует оплаты подписки.
  3. Прямые HTTP-запросы: Подходит для разовых задач или учебных целей. Крайне нестабилен, требует постоянной правки кода при изменении верстки сайта и подвержен блокировкам.

Таким образом, для надежной работы отборов по должнику или типу сообщения рекомендуется использовать специализированные интерфейсы (API), а не пытаться имитировать просмотр страницы пользователем.

← На главную