Получение курсов валют через веб-сервисы Центробанка РФ

Опубликовал Дмитрий Иванчура (Dmitryiv) в раздел Обработки - Обработка справочников

Получение курсов валют напрямую через веб-сервисы Центробанка РФ

Обработка предназначена для демонстрации использования веб-сервисов на примере получения курсов валют напрямую через веб-сервисы Центрального банка РФ.

Платформа 8.2. Толстый клиент.

В архиве также находится WSDL-файл описания всех веб-сервисов Центрального банка РФ.

Скачать файлы

Наименование Файл Версия Размер
Обработка
.zip 11,72Kb
28.05.15
114
.zip 11,72Kb 114 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Александр Зубцов (iov) 358 25.02.11 13:52 Сейчас в теме
а график где??? он туда сам напрашивается...
2. Дмитрий Иванчура (Dmitryiv) 104 25.02.11 14:24 Сейчас в теме
Кому нужен график - сами нарисуют. Обработка создана в академических целях. :D
3. Роман Пронин (r.pronin) 06.11.11 01:29 Сейчас в теме
Не тратьте денег. На сайте ЦБ РФ даны примеры и кое-какие пояснения.
http://www.cbr.ru/scripts/Root.asp?Prtid=DWS
Я для примера взял загрузку курсов в Excel.
В 8.2.13 все получилось. Вот как-то так.

самая большая хитрость это в конфигураторе надо создать WS-ссылку из адреса http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL

Вот типа текст.

Перем СервисЕжедневнойИнформации ;

Функция ПолучитьПоследнююДатуУстановкиКурса ()
ТипWSПарамера = СервисЕжедневнойИнформации.ФабрикаXDTO.Пакеты.Получить("http://web.cbr.ru/").Получить("GetLatestDateTime");
WSПараметр = СервисЕжедневнойИнформации.ФабрикаXDTO.Создать(ТипWSПарамера);

WSРезультат = СервисЕжедневнойИнформации.GetLatestDateTime(WSПараметр);

Возврат WSРезультат.GetLatestDateTimeResult ;

КонецФункции

Функция ПолучитьСписокКотируемыхВалют ()
// Получаем список валют
ТипWSПараметра = СервисЕжедневнойИнформации.ФабрикаXDTO.Пакеты.Получить("http://web.cbr.ru/").Получить("EnumValutes");
WSПараметр = СервисЕжедневнойИнформации.ФабрикаXDTO.Создать(ТипWSПараметра);
WSПараметр.Seld = ложь ;
СписокВалют = СервисЕжедневнойИнформации.EnumValutes(WSПараметр);
КонецФункции

Процедура КнопкаВыполнитьНажатие(Кнопка)

Если НЕ ЗначениеЗаполнено (ДатаКурса) Тогда
ДатаКурса = ПолучитьПоследнююДатуУстановкиКурса();
КонецЕсли;

// Получаем курсы
ТипWSПараметра = СервисЕжедневнойИнформации.ФабрикаXDTO.Пакеты.Получить("http://web.cbr.ru/").Получить("GetCursOnDate");
WSПараметр = СервисЕжедневнойИнформации.ФабрикаXDTO.Создать(ТипWSПараметра);
WSПараметр.On_Date = ДатаКурса ;
СписокКурсов = СервисЕжедневнойИнформации.GetCursOnDate(WSПараметр);


// Загрузить
КурсыВалют.Очистить();
Для Каждого Стр Из СписокКурсов.GetCursOnDateresult.diffgram.ValuteData.ValuteCursOnDate Цикл
Строка = КурсыВалют.Добавить() ;
Строка.Курс = Стр.Vcurs ;
Строка.Кратность = Стр.Vnom ;
Строка.ВалютаКодСимвольный = Стр.VchCode ;
Строка.ВалютаКодЧисловой = Прав ("000"+Стр.VCode, 3);
Строка.ВалютаИмя = Стр.VName ;
КонецЦикла;

КонецПроцедуры

Процедура ПолучитьПоследнююДатуУстановкиКурсовНажатие(Элемент)
ДатаКурса = ПолучитьПоследнююДатуУстановкиКурса ();
КонецПроцедуры


СервисЕжедневнойИнформации = WSСсылки.CBR_RU_DailyInfoWebServ.СоздатьWSПрокси ("http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap" );
4. Дмитрий Иванчура (Dmitryiv) 104 06.11.11 11:47 Сейчас в теме
r.pronin пишет:
Не тратьте денег. На сайте ЦБ РФ даны примеры и кое-какие пояснения.


Друже ты о каких деньгах глаголишь?
5. Роман Пронин (r.pronin) 06.11.11 15:16 Сейчас в теме
я о 800 руб в месяц, которые теперь берет infostart за то, чтобы скачать обработку.
6. Дмитрий Иванчура (Dmitryiv) 104 06.11.11 17:02 Сейчас в теме
Что-то я пропустил в этой жизни :-( И давно они так охамели?