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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.06.2013, 09:56   #23  
konfet is offline
konfet
Снова балуюсь косаптой :)
 
143 / 50 (2) ++++
Регистрация: 23.04.2003
Адрес: Moscow
Расскажу, как задача была решена с помощью .NET коннектора - может, кому-то пригодится.
Сначала пробовал COM-коннектор, но: во первых он морально устарел, его лучше сейчас не использовать.
Во вторых, при вызове из приложения 1 (далее П1) кода приложения 2 (далее П2) через ком-коннектор - передается строка размером до 1000 байт. Через .NET же передается строка любого размера (проверено на строке размером в 100 килобайт), то есть между приложениями можно передать в принципе любую осмысленную информацию.
Для передачи строки таблицы или другого сложного объекта можно использовать xml и функции преобразования.
Итак. Тестовая задача: передать из П1 в П2 на обработку только что заведенного в П1 клиента.
Перво-наперво, в репозитарий AOT П1, в ветку References, добавляем сборку Microsoft.Dynamics.BusinessConnectorNet.



Вызывающий код в П1:
X++:
static void testNETres(Args _args)
{
    Microsoft.Dynamics.BusinessConnectorNet.Axapta ax;
    Microsoft.Dynamics.BusinessConnectorNet.AxaptaObject axObj;
    CustTable ct;
    int xmlLen, resLen, bigLen, i;
    str xml, res, s, resres;    
    ;

    select firstonly ct;
    s = ct.xml();
    xmlLen = strLen(s);
    ax = new Microsoft.Dynamics.BusinessConnectorNet.Axapta();
    ax.Logon("","","","");
    axObj = ax.CreateAxaptaObject("test_Appl2");
    res = axObj.Call('test_NET', s);
    res = ''; 
}
В П2, в классе test_Appl2 создаем метод test_NET в котором осуществляется обработка переданного клиента.

X++:
str test_NET(str _s)
{
    custTable xTable;
    XmlDocument  xmlDocument = new XmlDocument();
    str xml;
    ;

    xml = _s;
    if (xmlDocument.loadXml(xml))
    {
        Global::recordFromXMLNode(xmlDocument.documentElement(), xTable);

//  дальше можно делать с клиентом все что надо
//  ...
        return xTable.Name;
    }
    return xml;

}
Вот так вот на самом деле просто всё.
__________________
Бесты и регарды!
За это сообщение автора поблагодарили: AlGol (2), raz (5).
Теги
aif

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax-erp: Creating SSRS-Reports in Dynamics AX 2012 – What’s no longer possible in AX-reports Blog bot DAX Blogs 0 18.07.2012 12:11
axinthefield: Compatibility Testing for Microsoft Dynamics AX Blog bot DAX Blogs 0 23.06.2012 02:26
AX.NET: интеграция .NET-приложений с Аксаптой и (будущие) возможности облачных вычислений gl00mie DAX: Программирование 2 23.04.2010 00:47
Запуск отчета в Dynamics AX 3.0 SP5 из внешнего приложения polygris DAX: Программирование 4 01.12.2008 12:40
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01

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

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

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