Имя: Пароль:
1C
Как страшно жить
Неправильные курсы на РБК ?
,
0 МойКодУныл
 
05.05.15
10:08
Странное творится. По данным ЦБ РФ:
http://www.cbr.ru/currency_base/daily.aspx?date_req=01.05.2015
Т.е. курсы на все праздники и сегодня(как я понял)
840    USD    1    Доллар США    51,1388
978    EUR    1    Евро    57,1578

А на сайте РБК совсем другие курсы, например:
http://cbrates.rbc.ru/tsv/840/2015/05/04.tsv  доллар 51.7029
http://cbrates.rbc.ru/tsv/978/2015/05/04.tsv  евро 56.8060

Как с этим жить?=)
Или я что-то упускаю. Но в базах 1С по факту курсы не те.
1 МойКодУныл
 
05.05.15
10:09
Секция, наверно, ИТ надо поставить.
2 shuhard_серый
 
05.05.15
10:24
(0) баянище, скорее гармонища
3 Волшебник
 
модератор
05.05.15
11:01
(0) Курсы надо загружать из первоисточника, т.е. с сайта Центробанка.
4 NoMax
 
05.05.15
11:03
(3) Уважаемый Волшебник, если можно пожалуйста ссылку на файлы с курсами от ЦБ.
5 Ranger_83
 
05.05.15
11:05
У меня по ссылкам совпадают
6 NoMax
 
05.05.15
11:07
(0) Да на эти грабли тоже наступил. В результате поставил курс руками по ЦБ РФ и временно отключил загрузку курсов с РБК.
7 Nikulin
 
05.05.15
11:14
Курсы не то чтобы не правильные.
Они на сегодня не грузятся. (БП 3.0)
Последняя история вчерашняя.
8 Волшебник
 
модератор
05.05.15
11:17
9 NoMax
 
05.05.15
11:19
(8) Спасибо большое.
10 ukolabrother
 
05.05.15
11:21
11 МойКодУныл
 
05.05.15
11:31
(3) Для этого нужно совершать дополнительные телодвижения=). Даже не думал, что такая ситуация возможна. Видимо, придется переписать.
12 Волшебник
 
модератор
05.05.15
11:33
(11) У нас давно переписано. Дарю код


Процедура ЗагрузитьКурсыЦБРФ()
    
    ДатаЗагружаемогоКурса = ?(ЗначениеНеЗаполнено(НачДата), ТекущаяДата(), НачДата);
    КонДата = ?(ЗначениеНеЗаполнено(КонДата), ТекущаяДата(), КонДата);
    КонДата = ?(КонДата < ДатаЗагружаемогоКурса, ДатаЗагружаемогоКурса, КонДата);
    
    СтруктураПрогресса = Новый Структура;
    СтруктураПрогресса.Вставить("Всего", (НачалоДня(КонДата) - НачалоДня(ДатаЗагружаемогоКурса))/(246060) + 1);
    СтруктураПрогресса.Вставить("Сейчас", 0);
    
    ФормаПрогресса = ПолучитьОбщуюФорму("ФормаПроцессаОбщая");
    ФормаПрогресса.СтрокаСостоянияПрогрессора = "Загрузка валют";
    ФормаПрогресса.Открыть();
    
    ЗагрузитьКурсЦБРФ(ДатаЗагружаемогоКурса);
        
КонецПроцедуры // ЗагрузитьКурсыЦБРФ()

Процедура ЗагрузитьКурсЦБРФ(ДатаЗагружаемогоКурса)
    
    СтруктураПрогресса.Сейчас = СтруктураПрогресса.Сейчас + 1;
    ФормаПрогресса.ЭлементыФормы.Индикатор.Значение = СтруктураПрогресса.Сейчас/СтруктураПрогресса.Всего 100;
    ФормаПрогресса.ЭлементыФормы.НадписьСостоянияПрогрессора.Заголовок = Формат(ДатаЗагружаемогоКурса, "ДЛФ=DD");
    
    Попытка
        ЭлементыФормы.HTML.Перейти("http://www.cbr.ru/scripts/XML_daily.asp?date_req=&quot; + Формат(ДатаЗагружаемогоКурса, "ДЛФ=D"));
    Исключение
        Сообщить("Отсутствует подключение к интернету");
        ФормаПрогресса.Закрыть();    
    КонецПопытки;
    
КонецПроцедуры

Процедура HTMLДокументСформирован(Элемент)
    
    Если ЭтоПервыйЗапуск Тогда
        ЭтоПервыйЗапуск = Ложь;
        Возврат;
    КонецЕсли;
    
    ТаблицаКурсов.Очистить();
    СформироватьТаблицуКурсов(ТаблицаКурсов);
    
    Если ТаблицаКурсов.Количество() = 0 Тогда
        Сообщить("Не удалось получить сведения о курсах валют за "+ Формат(ДатаЗагружаемогоКурса, "ДЛФ=D"));
        ФормаПрогресса.Закрыть();
        Возврат;
    КонецЕсли;
    
    Для Каждого СтрокаВалюты Из СписокВалют Цикл
        
        Если СтрокаВалюты.Валюта.Код = "643" Тогда
            Продолжить;
        КонецЕсли;
        
        СтрокаКурса = ТаблицаКурсов.Найти(СтрокаВалюты.Валюта.Код, "NumCode");
        Если СтрокаКурса = Неопределено ИЛИ СтрокаКурса.Value = 0 Тогда
            Сообщить("Не удалось получить сведения о курсе валюты " +  СтрокаВалюты.Валюта.Наименование + " за "+ Формат(ДатаЗагружаемогоКурса, "ДЛФ=D"));
            Продолжить;
        КонецЕсли;
        
        ЗаписьКурсовВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
        ЗаписьКурсовВалют.Валюта = СтрокаВалюты.Валюта;
        ЗаписьКурсовВалют.Период = ДатаЗагружаемогоКурса;
        ЗаписьКурсовВалют.Прочитать();
        ЗаписьКурсовВалют.Валюта    = СтрокаВалюты.Валюта;
        ЗаписьКурсовВалют.Период    = ДатаЗагружаемогоКурса;
        ЗаписьКурсовВалют.Курс      = СтрокаКурса.Value / ?(СтрокаКурса.Nominal = 0, 1, СтрокаКурса.Nominal);
        ЗаписьКурсовВалют.Записать();
        Сообщить("Загружен курс валюты " +  СтрокаВалюты.Валюта.Наименование + " за "+ Формат(ДатаЗагружаемогоКурса, "ДЛФ=D") + ". Курс: " + Строка(ЗаписьКурсовВалют.Курс));
        
    КонецЦикла;
    
    Сообщить("Курсы валют за " + Формат(ДатаЗагружаемогоКурса, "ДЛФ=D") + " успешно загружены.", СтатусСообщения.Информация);
    
    Если ДатаЗагружаемогоКурса < КонДата Тогда
        ДатаЗагружаемогоКурса = ДатаЗагружаемогоКурса + (24
60*60);
        ЗагрузитьКурсЦБРФ(ДатаЗагружаемогоКурса);
    Иначе
        ФормаПрогресса.Закрыть();
        ОбновитьСписокВалют();
    КонецЕсли;
    
КонецПроцедуры
13 Сержант 1С
 
05.05.15
11:42
откуда, кстати, вообще пошла привязка к РБК? Какая-то частная контора..
14 Волшебник
 
модератор
05.05.15
11:44
(13) Причём кипрская, да ещё Прохоровская.
15 МойКодУныл
 
05.05.15
11:44
(12) Спасибо.
(13) Сговор с непонятной целью http://cbrates.rbc.ru/
16 senior
 
05.05.15
11:47
Я правильно понял из всех предыдущих сообщений, что проблемы с РБК возникали ранее, и так часто, что это заставило людей переписать загрузку на другой источник (ЦБ РФ)?
17 Волшебник
 
модератор
05.05.15
11:48
(16) Это не другой источник, а первоисточник. Вот РБК — это действительно другой источник, причём левый
18 senior
 
05.05.15
11:51
(17) я не спорю насчет первоисточника, меня смутила реакция в (2)
19 NoMax
 
05.05.15
12:08
(18) по поводу (2) у меня случалось с РБК курсы на праздники-выходные не обновлялись, но вот такой казус в первый раз.
20 Asmody
 
05.05.15
12:39
(13) исторически. Было время, когда на сайте ЦБР курсов не было. А на РБК были. Взяли где было.
21 tciban
 
05.05.15
13:41
(12) а это код для какой конфы? Думал сходу прикрутить к УТ 10.3, но ничего не понял :(
22 Волшебник
 
модератор
05.05.15
13:42
(21) для самописки
23 tciban
 
05.05.15
13:48
(22) :(
А для УТ 10.3 есть?
24 Волшебник
 
модератор
05.05.15
13:50
(23) Нету
25 tciban
 
05.05.15
13:51
Жаль! но спасибо за ответ! :)
26 Pooh
 
05.05.15
14:03
(15) да странно. 1с сейчас могли бы уже и у себя на сайте публиковать. а оттуда уже во все свои конфы типовые подгружать.
27 oleg_km
 
05.05.15
18:16
(26) Да вобщем-то ничего не мешает к первоисточнику обратиться, это открытая информация ЦБ и открытое "АПИ", оно не меняется уже более 10-ти лет, я даже поначалу списывался с кем-то из ЦБ по его использованию.