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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.06.2007, 12:23   #21  
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(); 
Подскажите пожалуйста как устранить проблему есть кто сможет. Спасибо.
Старый 01.06.2007, 13:17   #22  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
1. попробуйте после load добавить info(xml.xml()) - что вы увидите?
2. Попробуйте load заменить на
X++:
if (!xml.load(...))
   throw error(xml.parseError().toString());
Старый 01.06.2007, 15:43   #23  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Попробуйте прогнать вот такой тестовый джобик:
X++:
static void Job52(Args _args)
{
COM xml = new COM("MSXML2.DOMDocument");
XMLNodeList vlist;
XMLNode valute;
str code, nom, nam, val;
int i;
;
    xml.async(false);  // Вернуть управление только после полной загрузки файла
    xml.validateOnParse(false);  // Не проверять загружаемый файл на соответствие своей схеме

    if (!xml.Load("http://www.cbr.ru/scripts/XML_daily.asp?date_req=01/06/2007"))
       info('Не удалось загрузить курсы валют с ЦБР (см. http://www.cbr.ru/scripts/root.asp)');

    // Выбрать все корневые элементы Valute
    vlist = xml.selectNodes("*/Valute");

    for(i = 1; i<=vlist.length(); i++)
    {
        valute = vlist.item(i-1);
        // Получить информацию о номинале, названии и курсе валюты
        code = valute.selectSingleNode("CharCode").text();
        nom = valute.selectSingleNode("Nominal").text();
        nam = valute.selectSingleNode("Name").text();
        val = valute.selectSingleNode("Value").text();
        info(code+" "+nom + " " + nam + " = " + val + " руб.");
    }
}
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 24.12.2008, 10:20   #24  
Umi is offline
Umi
Участник
Ex AND Project
1C
 
50 / 39 (2) +++
Регистрация: 14.12.2006
Адрес: St.Peterburg
Загрузила проект - ошибка "Модификаторы Client и Server можно использовать только в статических методах." в методах Run и canGoBatchJournal
Старый 25.12.2008, 16:36   #25  
Umi is offline
Umi
Участник
Ex AND Project
1C
 
50 / 39 (2) +++
Регистрация: 14.12.2006
Адрес: St.Peterburg
Разобралась=)
надо в методах Run и canGoBatchJournal дописать static и все замечательно работает (в 3.0)
Старый 26.12.2008, 08:57   #26  
AraraT® is offline
AraraT®
Участник
1C
 
158 / 106 (4) +++++
Регистрация: 13.01.2006
Адрес: Республика Татарстан, г. Казань
А как в Аксе использовать WEB-сервисы?
Кто-нить писал?
http://www.cbr.ru/scripts/Root.asp?Prtid=DWS
Старый 26.12.2008, 09:11   #27  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AraraT® Посмотреть сообщение
А как в Аксе использовать WEB-сервисы?
Кто-нить писал?
http://www.cbr.ru/scripts/Root.asp?Prtid=DWS
http://www.axaptapedia.com/Webservice
За это сообщение автора поблагодарили: AraraT® (1).
Теги
загрузка курсов валют, курс

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фиксированный курс в журнале ГК. Вторичная валюта. 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, время: 23:22.