gifts2017

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

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

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

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

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

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

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

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

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение
Комментарии
1. Александр Зубцов (iov) 25.02.11 13:52
а график где??? он туда сам напрашивается...
2. Дмитрий Иванчура (Dmitryiv) 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) 06.11.11 11:47
r.pronin пишет:
Не тратьте денег. На сайте ЦБ РФ даны примеры и кое-какие пояснения.


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