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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.02.2011, 14:26   #10  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от Алексей Рождествин Посмотреть сообщение
Можно ли настроить Axapta что бы она обращалась в почтовый ящик, выдергивала оттуда вложенный xml-файл и запускала уже имеющуюся процедуру размещения данных из этого файла? Если да, то можно ли привести тут код, который эту задачу выполнял бы?
Вы можете настроить сортировщик вашего почтового клиента на автоматическое сохранение attach файла в заданную папку, откуда затем читать файл Аксаптой.
(theBat это умеет, outlook скорее всего тоже).
Но зачем вам вообще заморачиваться с почтой ? Почта тут - лишнее звено, из за которого будут одни проблемы при эксплуатации. Не надежно все это. На мой взгляд такой способ - извращение.

Не лучше ли из Аксапты, напрямую, запрашивать некий web сервис, который по заданному адресу будет возвращать xml пакет с данными, необходимыми для импорта в Аксапту ?
(Эту функцию можно будет затем запускать в Аксапте в режиме пакетной обработки с любой периодичностью)

Вот пример, который импортирует данные о курсах валют с сайта ЦБ (http://www.cbr.ru/scripts/XML_daily.asp) - все очень просто

X++:
void run()
{
    com                 xml;
    XMLNodeList         nodelist;
    XMLElement          xmlNodeLine;
    int                 i;
    Currency            currency;
    CurrencyCode        currencyCode;
    ExchRates           exchRates;
    InteropPermission   dllPermission = new InteropPermission(InteropKind::ComInterop);
    ;
    dllPermission.assert();

    try
    {
        xml = new COM('Microsoft.Xmldom');
        xml.async(False);
        xml.validateOnParse(False);

        xml.load(strfmt("http://www.cbr.ru/scripts/XML_daily.asp"));

        nodelist = xml.getElementsByTagName("Valute");

        for (i = 0; i < nodelist.length(); i ++)
        {
            xmlNodeLine = nodelist.item(i);

            currencyCode =  valueFromXMLNode(types::String, xmlNodeLine.getElementsByTagName('CharCode').item(0)).value('value');

            currency = currency::find(currencyCode);

            if (currency.RecId != 0)
            {
                exchRates = exchRates::find(currencyCode);

                if (exchRates.RecId == 0)
                {
                    exchRates.CurrencyCode  = currencyCode;
                    exchRates.FromDate      = systemDateGet();
                    exchRates.ExchRate      = valueFromXMLNode(types::Real, xmlNodeLine.getElementsByTagName('Value').item(0)).value('value') / valueFromXMLNode(types::Real, xmlNodeLine.getElementsByTagName('Nominal').item(0)).value('value') * 100;

                    if (exchRates.validateWrite())
                    {
                        exchRates.insert();

                        info (strFmt('Введен курс валюты %1 со значением %2 на дату %3', exchRates.CurrencyCode, exchRates.ExchRate, exchRates.FromDate));
                    }
                }
            }
        }
    }
    catch (Exception::Error)
    {
        error(chi_GetTimeStamp() + "Процедура импорта валютных курсов завершилась неудачей");
    }
}
Этот код должен работать и в 3.0 и в AX2009

Это всего лишь один из примеров реализации. Есть возможность передавать через web сервисы и "закрытые" данные, и данные по параметрическим запросам...

Обратитесь к поставщикам вашего xml файла. Создать web сервис, который будет выдавать xml - дело 5 минут для грамотного NET программиста, например...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
COM соединение DinDim DAX: Программирование 6 04.06.2010 16:42
Fred Shen: Argument passed to ‘KPIVALUE’ function must be a KPI name Blog bot DAX Blogs 4 03.06.2010 10:07
Kurt Hatlevik: Sneak preview of the WMS E&E Blog bot DAX Blogs 0 20.11.2008 01:10
msdynamicsax: VB script that test the com connector for Dynamics Ax 4.0 Blog bot DAX Blogs 0 25.08.2008 18:05

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

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

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