Приветствую. Это пример для получения цены с сайта apteka.ru (без округления)
Тестировал на 1С:Розница Аптека 2.2.12.30, платформа 8.3.13.1865. Думаю, работать будет и на других.
&НаКлиенте
Процедура УзнатьЦену(Команда)
Штрихкод=ПолучитьШтрихкод();
ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows());
HTTPСоединение = Новый HTTPСоединение("apteka.ru",,,,,,ssl,);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Origin", "https://apteka.ru");
Заголовки.Вставить("Accept-Language", "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7");
Заголовки.Вставить("X-Requested-With", "XMLHttpRequest");
Заголовки.Вставить("DNT", "1");
Заголовки.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36");
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
HTTPЗапрос = Новый HTTPЗапрос("/", Заголовки);
Результат = HTTPСоединение.Получить(HTTPЗапрос);
Cookie = Результат.Заголовки.Получить("Set-Cookie");
Cookie = СтрЗаменить(Cookie, ";", Символы.ПС);
Cookie = СтрПолучитьСтроку(Cookie, 1);
Заголовки.Вставить("Cookie", Cookie);
ЗапросЧасть1 = "/search/?q=";
ЗапросЧасть2 = ШтрихКод;
ЗапросЧасть3 = "&order=products%2Cmaterials&vendor=";
ИтоговойЗапрос = ЗапросЧасть1 + ЗапросЧасть2 + ЗапросЧасть3;
HTTPЗапрос = Новый HTTPЗапрос(ИтоговойЗапрос, Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(ИтоговойЗапрос, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Ответ = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Ответ = Ответ.ПолучитьТелоКакСтроку("UTF-8");
Ошибка404 = "page-404";
ИщемОшибку404 = Найти(Ответ, Ошибка404);
Если ИщемОшибку404 = 0 Тогда
ЧтоИщемВСтроке = "data-price=";
Позиция = Найти(Ответ, ЧтоИщемВСтроке);
Длина = СтрДлина(Ответ);
Ответ = Прав(Ответ, СтрДлина(Ответ)-Позиция-11);
Ответ = Лев(Ответ, 11);
RegExp = Новый COMОбъект("VBScript.RegExp");
RegExp.IgnoreCase = Истина; //Игнорировать регистр
RegExp.Global = Истина; //Поиск всех вхождений шаблона
RegExp.MultiLine = Истина; //Многострочный режим
RegExp.Pattern = "[^0-9]"; // отбор только чисел
Ответ=RegExp.Replace(Ответ, "");
Ответ = Лев(Ответ, СтрДлина(Ответ)-2);
Если Ответ <> "" Тогда
Ответ = Число(Ответ);
Ответ = Формат(Ответ, "ЧЦ=15");
Ответ = Ответ + " руб.";
КонецЕсли;
Сообщить(Ответ);
Иначе Сообщить("Товар не найден");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьШтрихкод();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Штрихкоды.Штрихкод КАК Штрихкод
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.Владелец = &Номенклатура";
Запрос.УстановитьПараметр("Номенклатура", ЭтаФорма.Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод;
КонецЦикла;
Возврат Штрихкод;
КонецФункции