Функция ПолучитьКурсВалютыССайта_AED(ДатаЗагрузки = Неопределено) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ДатаЗагрузки = Неопределено ИЛИ Формат(ДатаЗагрузки,"ДФ=dd.MM.yyyy") = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy") Тогда
Возврат 0;
//ДатаЗагрузки = ТекущаяДата();
КонецЕсли;
СтрокаПараметраПолучения = "https://ru.exchange-rates.org/Rate/AED/EUR/"+Формат(ДатаЗагрузки,"ДФ=dd.MM.yyyy");
Страничка = ПолучитьДанныеInternet(СтрокаПараметраПолучения);
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(Страничка);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
//ТекстовоеСодержимое = ДокументHTML.ПолучитьЭлементПоИдентификатору("ratesTable").ТекстовоеСодержимое;
//НачалоТекстаКурса = СтрНайти(ТекстовоеСодержимое, "равно") + СтрДлина("равно ");
//КонецТекстаКурса = СтрНайти(ТекстовоеСодержимое, " по состоянию");
//Курс = Число(Сред(ТекстовоеСодержимое, НачалоТекстаКурса, КонецТекстаКурса - НачалоТекстаКурса));
ТекстовоеСодержимое = ДокументHTML.ПоследнийДочерний.ТекстовоеСодержимое;
НачалоТекстаКурса = СтрНайти(ТекстовоеСодержимое, "Курс AED/EUR на " + Формат(ДатаЗагрузки,"ДФ=dd.MM.yyyy")) + СтрДлина("Курс AED/EUR на " + Формат(ДатаЗагрузки,"ДФ=dd.MM.yyyy"));
КонецТекстаКурса = СтрНайти(ТекстовоеСодержимое, "Курс AED/EUR сегодня");
КурсТекст = СокрЛП(Сред(ТекстовоеСодержимое, НачалоТекстаКурса, КонецТекстаКурса - НачалоТекстаКурса));
КурсТекст = СтрЗаменить(КурсТекст, "1 AED = ", "");
КурсТекст = СтрЗаменить(КурсТекст, " EUR", "");
Попытка
Курс = Число(КурсТекст);
Исключение
Возврат 0;
КонецПопытки;
Вал = Справочники.Валюты.НайтиПоКоду("784"); // AED
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Период.Установить(ДатаЗагрузки);
НаборЗаписей.Отбор.Валюта.Установить(Вал);
НовЗапись = НаборЗаписей.Добавить();
НовЗапись.Период = ДатаЗагрузки;
НовЗапись.Курс = Курс;
НовЗапись.Кратность = 1;
НовЗапись.Валюта = Вал;
НаборЗаписей.Записать(Истина);
УстановитьПривилегированныйРежим(Ложь);
Возврат Курс;
КонецФункции
|