|
РБК подставил, выдал неверные курсы валют :( | ☑ | ||
---|---|---|---|---|
0
Fragster
гуру
29.12.20
✎
10:54
|
||||
1
mave13
29.12.20
✎
10:57
|
Аналогично
|
|||
2
ptiz
29.12.20
✎
11:05
|
Вчерашние курсы подсунули?
|
|||
3
ptiz
29.12.20
✎
11:10
|
Может, они неправильно поняли указание о "заморозке цен"? :)
|
|||
4
mave13
29.12.20
✎
11:17
|
(2) ага
|
|||
5
Волшебник
29.12.20
✎
11:26
|
Никогда такого не было и вот опять...
Курсы надо грузить от первоисточника - Центробанка России. Если оттуда не грузится, то от РБК и обязательно проверять вручную. |
|||
6
Fragster
гуру
29.12.20
✎
11:30
|
(5) в старых БСП грузится с этого ресурса, в более новых - с ИТС или с этого ресурса
|
|||
7
kzot
29.12.20
✎
11:31
|
(5) было и раньше, научили...
а если у Центробанка неверно ? ) |
|||
8
Fragster
гуру
29.12.20
✎
11:59
|
(7) у центробанка вот с этого: https://www.cbr.ru/development/DWS/
получается полная шляпа: https://i.imgur.com/JKgk8pW.png |
|||
9
Fragster
гуру
29.12.20
✎
11:59
|
в ответ вместо данных приходит схема данных ответа
|
|||
10
Волшебник
29.12.20
✎
12:06
|
(7) Вероятность очень мала. Даже если у Центробанка вдруг будет техническая ошибка, то есть вероятность, что её узаконят где-то в недрах ЦБ.
|
|||
11
ptiz
29.12.20
✎
12:21
|
(8)
Процедура КнопкаВыполнитьНажатие(Кнопка) ТекстОшибки = ""; ПроксиВебСервиса = ПолучитьНовыйПроксиВебСервисаКурсовВалютЦБ(ТекстОшибки); Если ЗначениеЗаполнено(ТекстОшибки) Тогда Сообщить(ТекстОшибки); Возврат; КонецЕсли; // курсы ДатаСтрокой = Формат(ДатаКурса, "ДФ=yyyy-MM-ddTHH:mm:ss"); ТипWSПараметра = ПроксиВебСервиса.ФабрикаXDTO.Пакеты.Получить("http://web.cbr.ru/").Получить("GetCursOnDateXML"); WSПараметр = ПроксиВебСервиса.ФабрикаXDTO.Создать(ТипWSПараметра); WSПараметр.On_date = ДатаСтрокой; Попытка СтрокаОтвета = ПроксиВебСервиса.GetCursOnDateXML(WSПараметр); Исключение ТекстОшибки = "Ошибка веб-сервиса: " + ОписаниеОшибки(); КонецПопытки; Если ЗначениеЗаполнено(ТекстОшибки) Тогда Сообщить(ТекстОшибки); Иначе //Сообщить(СтрокаОтвета); Для каждого Элемент Из СтрокаОтвета.GetCursOnDateXMLResult.ValuteData.ValuteCursOnDate Цикл Сообщить(СокрЛП(Элемент.Vname) + " - " + СокрЛП(Элемент.Vcurs)); КонецЦикла; КонецЕсли; КонецПроцедуры Функция ПолучитьНовыйПроксиВебСервисаКурсовВалютЦБ(ТекстОшибки = "", ТаймАут = 5) Экспорт Пользователь = ""; Пароль = ""; ОпределениеСервиса = Неопределено; АдресВебСервиса = "http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL"; ТекстОшибки = ""; Попытка ОпределениеСервиса = Новый WSОпределения(АдресВебСервиса, Пользователь, Пароль, ТаймАут); Исключение ТекстОшибки = ОписаниеОшибки(); ОпределениеСервиса = Неопределено; КонецПопытки; Если ОпределениеСервиса = Неопределено Тогда ТекстОшибки = ТекстОшибки + ?(ТекстОшибки = "", "", Символы.ПС) + "Не удалось получить определение веб-сервиса"; Возврат Неопределено; КонецЕсли; Попытка Сервис = ОпределениеСервиса.Сервисы[0]; Прокси = Новый WSПрокси(ОпределениеСервиса, Сервис.URIПространстваИмен, Сервис.Имя, Сервис.ТочкиПодключения[0].Имя, ТаймАут); Прокси.Пользователь = Пользователь; Прокси.Пароль = Пароль; Исключение ТекстОшибки = ОписаниеОшибки(); ОпределениеСервиса = Неопределено; Прокси = Неопределено; КонецПопытки; Если Прокси = Неопределено Тогда ТекстОшибки = ТекстОшибки + ?(ТекстОшибки = "", "", Символы.ПС) + "Не удалось получить прокси веб-сервиса"; Возврат Неопределено; КонецЕсли; Возврат Прокси; КонецФункции Процедура ПриОткрытии() ДатаКурса = ТекущаяДата(); КонецПроцедуры |
|||
12
Fragster
гуру
29.12.20
✎
12:26
|
(11) уже сделал так:
Адрес = "https://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL"; Определение = Новый WSОпределения(Адрес); Сервис = Определение.Сервисы[Определение.Сервисы.Количество() - 1]; ПространствоИмен = Сервис.URIПространстваИмен; ТочкаПодключения = Сервис.ТочкиПодключения[Сервис.ТочкиПодключения.Количество() - 1]; Прокси = Новый WSПрокси(Определение, ПространствоИмен, Сервис.Имя, ТочкаПодключения.Имя); Фабрика = Определение.ФабрикаXDTO; Тип = Фабрика.Тип(ПространствоИмен, "EnumValutes"); Параметр = Фабрика.Создать(Тип); Результат = Прокси.EnumValutes(Параметр); СписокВалют = Результат.EnumValutesResult.diffgram.ValuteData.EnumValutes; Для каждого СтрокаВалют Из СписокВалют Цикл Если СтрокаВалют.Получить("VcharCode") = "EUR" Тогда КодВалюты = СокрЛП(СтрокаВалют.Vcode); Прервать; КонецЕсли; КонецЦикла; Тип = Фабрика.Тип(ПространствоИмен, "GetCursDynamic"); //Тип = Фабрика.Тип(ПространствоИмен, "GetCursDynamicXML"); Параметр = Фабрика.Создать(Тип); Параметр.FromDate = НачалоДня(ТекущаяДата() - 5*86400); Параметр.ToDate = НачалоДня(ТекущаяДата()); Параметр.ValutaCode = КодВалюты; Результат = Прокси.GetCursDynamic(Параметр); //Результат = Прокси.GetCursDynamicXML(Параметр); Курсы = Результат.GetCursDynamicResult.diffgram.ValuteData.ValuteCursDynamic Для каждого СтрокаКурсов Из Курсы Цикл КонецЦикла; |
|||
13
Fragster
гуру
29.12.20
✎
12:26
|
у них свои коды прост. + ответ они отдают неправильный, из-за которого он AnyType
|
|||
14
Fragster
гуру
29.12.20
✎
12:27
|
и надо что влечет некоторое количество кода на преобразование список-объект и строк в числа идаты
|
|||
15
Fragster
гуру
29.12.20
✎
12:32
|
как-то так:
Курсы = Результат.GetCursDynamicResult.diffgram.ValuteData.ValuteCursDynamic; Если ТипЗнч(Курсы) <> Тип("СписокXDTO") Тогда ТМП = Новый Массив; ТМП.Добавить(Курсы); Курсы = ТМП; КонецЕсли; Для каждого СтрокаКурсов Из Курсы Цикл Дата = XMLЗначение(Тип("Дата"), СтрокаКурсов.CursDate); Курс = XMLЗначение(Тип("Число"), СтрокаКурсов.Vcurs); Кратность = XMLЗначение(Тип("Число"), СтрокаКурсов.Vnom); КонецЦикла; |
|||
16
Fragster
гуру
29.12.20
✎
12:32
|
+ оно с пропусками дат (в отличии от РБК)
|
|||
17
Оболтус
29.12.20
✎
12:40
|
РБК чинить-то собирается?
|
|||
18
ДенисЧ
29.12.20
✎
12:45
|
(17) Сейчас пообедаем и будем чинить. Иншалла починим...
|
|||
19
kzot
29.12.20
✎
13:13
|
(18) не поел ещё ? цб курс выдало на 30.12 90,2074
|
|||
20
ДенисЧ
29.12.20
✎
13:15
|
(19) Я же сказал - иншалла...
|
|||
21
kzot
29.12.20
✎
14:19
|
(17) уже поправили.
(20) свинину ел что ли ? |
|||
22
ДенисЧ
29.12.20
✎
14:20
|
(21) Ты хочешь оскорбить чувства свиноедов или свиней?
|
|||
23
Оболтус
29.12.20
✎
14:36
|
Да, поправили. Наконец-то.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |