helpf.pro
Регистрация
 +1 
Распечатать

Как получить курсы валют с сайта http://finance.ua/ за любую дату ?

Код 1C v 7.x
 

Функция ПолучитьТаблицуКурсов(ДатаКурса)
Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯчейки, Док, ТекстВЯчейке, ТабКурсов;
Reader = СоздатьОбъект("MSXML2.XMLHTTP");
Url = "http://tables.finance.ua/ru/currency/official/-/1/" + ДатаГод(ДатаКурса) + "/" + ДатаМесяц(ДатаКурса) + "/" + ДатаЧисло(ДатаКурса) + "?time=" + _GetPerformanceCounter();
Сообщить(Url);
Reader.Open("Get", Url, 0);
Reader.Send();
Пока Reader.ReadyState <> 4 Цикл
Состояние("Чтение данных за <" + ДатаКурса + "> ");
КонецЦикла;
Док = СоздатьОбъект("HtmlFile");
Док.open("text/html");
Док.write(Reader.ResponseText);
Док.close();
HtmlTab = Док.getElementByID("currency-official-table");
Строк = HtmlTab.rows.length;
ТабКурсов = СоздатьОбъект("ТаблицаЗначений");
ТабКурсов.НоваяКолонка("ЦифрКод" , "Строка", 3,  , "Цифр. код");
ТабКурсов.НоваяКолонка("БуквКод" , "Строка", 3,  , "Букв. код");
ТабКурсов.НоваяКолонка("Название" , "Строка");
ТабКурсов.НоваяКолонка("Курс" , "Число" ,14, 4);
ТабКурсов.НоваяКолонка("Кратность" , "Число" , 9, 0);
Для НомСтроки = 1 По Строк Цикл
Р = HtmlTab.rows(НомСтроки - 1);
Если (НомСтроки = 1) Или (Р.cells.length <> 7) Тогда // 1 - я заголовок, остальные не с данными
Продолжить;
КонецЕсли;
ТабКурсов.НоваяСтрока();
ТабКурсов.ЦифрКод = СокрЛП(Р.cells(0).innerText);
ТабКурсов.БуквКод = СокрЛП(Р.cells(1).innerText);
ТабКурсов.Название = СокрЛП(Р.cells(3).innerText);
ТабКурсов.Курс = 0 + СтрЗаменить(СокрЛП(Р.cells(4).innerText), " ", "");
ТабКурсов.Кратность = 0 + СтрЗаменить(СокрЛП(Р.cells(2).innerText), " ", "");
КонецЦикла;
Reader = 0;
ТабКурсов.ВыбратьСтроку(, "Курсы за " + ДатаКурса);
Возврат ТабКурсов;
КонецФункции


Разместил:   Версии: | 7.x |  Дата:   Прочитано: 2142
 +1 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 2
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...
10060 (0x0000274C): Попытка установить соединение была безуспешной 0
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через...
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.