Имя: Пароль:
1C
1С v8
Загрузка курсов валют2
0 shamannk
 
17.09.12
15:04
Поднимал тему v8: Загрузка курсов валют. теперь появилась проблема этот скрипт http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=01/09/2012&date_req2=31/12/2012&VAL_NM_RQ=R01239 выводит только если курс менялся а мне надо получить курсы и за выходные (писать дублирования не очень хочется)
1 Жан Пердежон
 
17.09.12
15:05
из РС бери срезом последних
2 shamannk
 
17.09.12
15:07
(1) Не подходит курс валют должен быть на каждый день.
3 shuhard
 
17.09.12
15:23
(2) будь мужиком:
возьми срез последних на каждый день
4 shamannk
 
17.09.12
15:50
Нужно решить такую ситуацию когда курс либо по тех причинам не загружен либо были выходные и он просто не менялся. До меня сделали если курса валюты нет на сегодня то система стопорится.
5 shamannk
 
17.09.12
15:55
(3) Мы не можем работать с курсами валют за хрен пойми какую дату, уж простите.
6 shamannk
 
17.09.12
15:59
(5) к (1)
7 shamannk
 
17.09.12
15:59
(3) Очень много переписывать предется лучше уж курсы проставить.
8 Жан Пердежон
 
17.09.12
16:06
(5) в строке ошибка, правильно будет: "мы не умеем работать с периодическим регистром сведений, уж простите"
9 Жан Пердежон
 
17.09.12
16:06
собственно, в (7) подтверждение
10 shamannk
 
17.09.12
16:17
(8) Что ваш РС сегодня покажет если к примеру  курсы валют последний раз грузили на четверг? Курс четверга, умник?
11 azernot
 
17.09.12
16:21
(10) А что мешает при загрузке курса, загрузить курс прошлого/позапрошлого дня, если он не менялся?
12 shamannk
 
17.09.12
16:30
(11) Ну да, грузить на текущий день 17ое получим за 15ое а записывать с тек датой(сервера). Вот только уже сейчас есть курс на 18ое как его загрузить по этой схеме.
13 azernot
 
17.09.12
16:38
(12) В общем случае, исходим из того, что курс на сегодня устанавливается вчера. Значит могут быть 2 ситуации:
- курс на завтра уже установлен
- курс на завтра ещё не установлен.

перед загрузкой курса на дату проверяем на какую последнюю дату установлен курс. Если разница между ними - один день, всё нормально. Если разница между ними больше - за все предыдущие дни устанавливаем предыдущий курс.
Разобрав весь файл проверяем, какая в нём последняя дата. Если эта дата больше или равна текущей дате - всё нормально.
Если последняя дата файла меньше текущей дата - загружаем за все дни промежутка от последней даты файла до текущей  последним курсом.
14 shamannk
 
17.09.12
16:49
(13)http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=01/09/2012&date_req2=31/12/2012&VAL_NM_RQ=R01239 Решил после загрузки этого скрипта проверить курсы на тек день если нет то загрузить как в (12)
15 azernot
 
17.09.12
16:51
(14) ты так 16-е пропустишь.
16 shamannk
 
17.09.12
16:55
(15) Ну если у меня будет курс на 17 и динамика курсов не показала курс на 16 то это значит что курс не менялся 16го.
17 azernot
 
17.09.12
17:19
(16) Если по какой-то причине загрузка курса не отработала один день и, по стечению обстоятельств, это день, за который нет курса, у тебя будет пропуск дня.