Страница 1 из 1
а как отловить актуальный курс ЦБ используя Workflow???
Добавлено: 02 ноя 2007, 08:19
Александр
никто не знает, нам в работе постоянно нужен текущий курс валют, т.е. все время надо идти за ним в интернет - вполне логично повесить эту замечательную операцию на Workflow - может у кого есть готовое решение - откуда? и как? и с какой частотой?

можно выходить из WorkFlow в интернет и брать оттуда данные?
Добавлено: 02 ноя 2007, 11:31
Alexey
мне так кажется это задачка для пати апи, или вот еще создаешь excel файл в него запихиваешь ссылку на колонку с курсом любой валюты и с некой периодичностью открываешь этот файл, обновляешь и запихиваещь туда куда тебе надо!!! Вот как я здорово придумал и без partyapi... правда не знаю на сколько рабочий вариант я предложил, но мне кажется при твоем Александр усердии именно так ты и сделаешь!!! Дерзай... Получиться, скажешь... А точнее поделишься

Добавлено: 02 ноя 2007, 11:37
Александр
да нет Excell это не наш метод - есть в интернете какая то ссылка возвращающая каким то образом курс по запрашиваемой валюте (ты как спец по php наверно что то знаешь об этом) - вопрос лишь в том как туда попасть из WorkFlow и забрать оттуда данные к себе в работу - т.е. полностью исключить человеческий фактор юзера - хотя еще один фактор - фактор России исключить не получится так как он непредсказуем

Добавлено: 02 ноя 2007, 12:01
Alexey
Я поэтому и прописал тебе привязку к excel так как это навреное проще всего, хотя погодь я сейчас кое что проверю, так и есть... в действиях есть возможность считать данные из указанной секции ini файла, отсюда имеем, есть процесс workflow который работает с нужной периодичностью, далее имеем ини файл в котором прописан курс доллара, евро и так далее тут уж как хочешь извращайся, а вот как получать данные о курсе в ини файл... тут либо надо писать софтину которая будет работать с определенной периодичностью и получать данный курс валюты, либо запускать на машине на которой есть постоянный php сервер, и писать скрипт на php который будет делать тоже самое, соединяться выдирать и записывать в ини файл, или чтобы проще было можно найти так называемый ифнормер на java из которого выдирать значении валюты... Вот тебе кратенько...
Добавлено: 02 ноя 2007, 12:06
Alexey
Александр, а ведь можно это все и на vba написать, значит не буду вдаваться в подробности вот тут информация о работе с центральным банком россии
http://www.cbr.ru/scripts/Root.asp, а вот здесь пример получения курсов валют в MS Access
http://hiprog.com/index.php?option=com_ ... &Itemid=35
пробуй...
Добавлено: 02 ноя 2007, 12:12
Alexey
Я тут подумал а ведь можно и SQLем это сделать... только тут я не силен хотя уверен есть готовый скрипт
Добавлено: 02 ноя 2007, 12:13
Александр
Круто

Спасибо
Windows Script Host я уважаю, а скрипты можно из WorkFlow запускать? или пока только средствами SQL
ps
промежуточные файлы для хранения курсов не хотелось бы использовать - на мой взгляд это лишне

Добавлено: 02 ноя 2007, 12:23
Alexey
Добавлено: 02 ноя 2007, 12:34
Александр
да побегу...дальше

Добавлено: 13 фев 2008, 11:14
Александр
срочно нужна помощь по разбору файла xml из интернета
есть страница ЦБ
http://www.cbr.ru/scripts/Root.asp?Prtid=SXML
есть страница ЦБ с курсами
http://www.cbr.ru/scripts/XML_daily.asp?
по структуре точь в точь ini файл
но
подскажите кто нибудь как с ним работать из Лоции???
т.е. из действия обратиться к странице в интернете и вытащить инфу по ключу??
или типа сохранить ее куданить и уже там разобрать
Добавлено: 15 фев 2008, 14:13
Юрий
По идее нужно делать внешнее приложение, которое через PartyAPI будет заносить информацию в атрибуты лоции.
Но скорее всего можно выкрутиться скртиптом из отчета.
Добавлено: 15 фев 2008, 14:18
Александр
нет PartyAPI отпадает - цель не оправдывает средства
Вот скрипт - да
Но из отчета нет - вообще никак (в смысле неинтересно - нужно из действия или из работы напрямую), можно конечно средствами SQL скрипт пускать - но тоже неинтересно
Пока единственный выход - это запускать в системе (не в Лоции) отдельный скрипт (раз в сутки) - который лезет в банк, берет оттуда курсы, и сохраняет их в формате *.ini который Лоция понимает
это - единственный выход на мой взгляд
НО
Но все же хотелось извернуться какими нибудь внутренними методами - чем нибудь недокументированным - ну так, для души

ну ты понимаешь

Добавлено: 29 фев 2008, 13:28
Александр
все сделали скриптом на линуксе (ну нам так надо) каждый день
из центробанка в ini файл, котрый потом бросаем в общую папку и работаем с ним из Лоции
если кому нужно забирайте
Код: Выделить всё
#!/bin/bash
#Первичная отчистка от мусора
INI_PATH=".../Kurs/currency.ini"
rm -f XML_daily.asp
rm -f $INI_PATH
touch $INI_PATH && \
#Определяем дату в нужном нам формате
current_date=`date +%d.%m.%Y` && \
#В тихом режиме забираем XML-файл с датами
wget -q http://www.cbr.ru/scripts/XML_daily.asp && \
#Строки с курсами Доллара и Евро
USD_line=36 && \
EUR_line=43 && \
#Парсим файл, выдираем курсы валют из соответствующих строк
USD=`cat -n XML_daily.asp |grep " $USD_line"| awk -F\> '{print($2)}' |awk -F\< '{print($1)}'` && \
EUR=`cat -n XML_daily.asp |grep " $EUR_line"| awk -F\> '{print($2)}' |awk -F\< '{print($1)}'` && \
#Выводим результаты в INI-файл
echo "[USD]" >> $INI_PATH && \
echo "kurs= $USD" >> $INI_PATH && \
echo "[EUR]" >> $INI_PATH && \
echo "kurs= $EUR" >> $INI_PATH && \
#Дата создания совпадает с датой, на которую даны курсы валют.
echo "[Date]" >> $INI_PATH && \
echo "Date= $current_date" >> $INI_PATH && \
chown zaytsev:zaytsev $INI_PATH
а это сам ini
Код: Выделить всё
[USD]
kurs= 24,1159
[EUR]
kurs= 36,4054
[Date]
Date= 29.02.2008