Получение номера ВСД по идентификатору 1С: Меркурий

Код парсинга веб страницы для получения номера ВСД в системе Меркурий.

API Меркурия не предполагает возвращение информации по номеру ВСД, хотя получатели в печатном варианте требуют данные номер. Предоставляю код, который парсит сайт, где можно узнасть номер всд по идентификатору. Для этого не нужно создавать никаких реквизитов и скачивать сам сайт, код работает и так.

Ниже приведу пример работающего кода в моей системе.               

Сайт = "https://mercury.vetrf.ru/pub/operatorui?_language=ru&_action=showVetDocumentFormByUuid&uuid="+Идентификатор;

//Идентификатор здесь будет идентификатор самой всд вида "b9a67682-89c5-4b1b-b6d4-845e8f5fcf9b" Например
//Разбор ХТМЛ
ЧтениеХТМЛ = Новый ЧтениеТекста;
ЧтениеХТМЛ.Открыть(Сайт , КодировкаТекста.UTF8);
Попытка
НашаСтрока = ЧтениеХТМЛ.Прочитать();
ТекстХТМЛ = НашаСтрока;

НомерНайденнойСтроки = стрнайти(ТекстХТМЛ,"Номер ВСД</div><div class="+"""profile-info-value"""+"><span class="""+""">");
НомерВСД= Сред(ТекстХТМЛ,НомерНайденнойСтроки,100);
НомерВСД= стрПолучитьСтроку(НомерВСД,1);
НомерВСД= СтрЗаменить(НомерВСД,"Номер ВСД</div><div class="+"""profile-info-value"""+"><span class="""+""">","");
НомерВСД= СтрЗаменить(НомерВСД,"</span></div></div>","");

Исключение
Конецпопытки;
КонецЕсли;

КонецЕсли;
Конеццикла;

 

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

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *