AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.06.2007, 12:23   #13  
longson is offline
longson
Участник
 
231 / 49 (2) +++
Регистрация: 12.12.2006
Адрес: Москва
Цитата:
Сообщение от UnQuaiz Посмотреть сообщение
Я решил эту задачу по другому..
Использовал классы для работы с XML.
На www.cbr.ru есть скрипт возвращающий курсы валют в xml формате..
http://www.cbr.ru/scripts/sample_xml.htm
здесь есть примеры на VB и php..
у меня получилось так...

PHP код:

   
tempstr          CurID;
   
XMLDocument      xml;
   
XMLNamedNodeMap  attrs;
   
XMLNodeList      nodelist,nodelist1;
   
XMLNode          node,node1;
   
ExchRate         exrate;
 
;
 
    
xml = new XMLDocument();
    
xml.async(False);
    
xml.validateOnParse(False);
    
xml.load('http://www.cbr.ru/scripts/XML_daily.asp');
    
nodelist xml.getElementsByTagName('Valute');
    if(
nodelist) {node nodelist.nextNode();}
    while(
node)
    {
     
attrs node.attributes();
     
node1 attrs.getNamedItem('ID');
     
nodelist1 node.childNodes();
     
CurID node1.nodeValue();
     
node nodelist1.item(4);
     
ExRate =str2num(strReplace(node.text(),',',''))/100;
     
select Currency_CBR where Currency_CBR.CBRCode == CurID;
     
select Rates where Rates.FromDate==Today() &&       Rates.CurrencyCode == Currency_CBR.CurrencyCode;
      if(!
Rates)
      {
       
Rates.selectForUpdate();
       
Rates.FromDate Today();
       
Rates.CurrencyCode Currency_CBR.CurrencyCode;
       
Rates.ExchRate ExRate*Currency_CBR.Factor;
       
Rates.insert();
      }
      else
      {
       
error(strfmt("Обменный курс валюты %1 за %2 уже существует.",Currency_CBR.CurrencyCode,Today()));
      }
     }
     
node nodelist.nextNode();
    }

Currency_CBR - таблица в которой указано соответствие кодов валют с кодами на сайте центробанка...
У меня при запуске этого джобика выдалась ошибка XMLNode объект не инициализирован

именно на строку 26, т.е
PHP код:
CurID node1.nodeValue(); 
Подскажите пожалуйста как устранить проблему есть кто сможет. Спасибо.
Теги
загрузка курсов валют, курс

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фиксированный курс в журнале ГК. Вторичная валюта. concigliory DAX: Функционал 3 24.02.2014 15:15
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Кэширование курсов валют Tony Green DAX: Программирование 8 09.02.2007 10:02
Закачка курсов валют с Интернета. Hans DAX: Программирование 1 22.09.2006 12:08
Валюты и курсы валют Rafael DAX: Функционал 1 13.02.2002 19:19

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:57.