|   |   | 
| 
 | РБК подставил, выдал неверные курсы валют :( | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Да, поправили. Наконец-то.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |