04.10.2007, 18:35 | #1 |
Участник
|
AIF - получение данных
Можно ли используя фреймворк AIF получить данные в формате xml внутри самой аксапты? Т.е. например написать джобу, которая используя структуру классов AIF выведет к примеру в инфолог xml с данными.
В классе AxdBase есть методы read и readList, которые вроде как и должны вернуть xml с данными. Но вот как запустить это чудо пока загадка. Эти методы принимают параметры, проинитить каторые проблема. Используется DAX 4.0 |
|
05.10.2007, 16:20 | #2 |
Программатор
|
Посмотрел по перекрестным ссылкам:
\Classes\AxdSalesOrder\getActionList мож чем то поможет Вам (там юзается метод read класса AxdBase) |
|
09.10.2007, 00:17 | #3 |
Участник
|
Последний раз редактировалось gl00mie; 09.10.2007 в 00:51. |
|
11.10.2007, 12:59 | #4 |
Участник
|
Главу про AIF книги inside dyanmics AX 4.0 я прочитал. Не особо это помогает в этом плане
|
|
11.10.2007, 16:01 | #5 |
MCTS
|
Насколько я понимаю (пусть более осведомленные люди меня поправят), есть такие варианты:
1. Использовать Axapta в качестве как отправляющего запросы своему Business Connector'у, так и принимающего обратно ответы приложения (что не очень хорошо, так как будет тратиться зря время и ресурсы на общение "сам с собой", да и странная получится архитектура решения); 2. Изменить под себя классы Axd (убрать все лишнее - что тоже не очень хорошо) или написать классы-наследники (что долго). 3. Использовать класс XmlTextReader (альтернатива - AxdXmlReader) для написания своего решения. Главный вопрос, как всегда, самый частый не только на этом форуме, но и, наверное, в жизни - а зачем это нужно? Судя по постановке вопроса, то ли просто хочется сделать тестовый пример для будущего взаимодействия с внешней системой (тогда все более-менее понятно), либо есть какое-то непонимание (зачем такой сложный обмен, когда внутри приложения все данные можно получить гораздо проще?). Удачи в начинаниях! Последний раз редактировалось cherv; 11.10.2007 в 16:05. |
|
12.10.2007, 10:06 | #6 |
Участник
|
Цитата:
Сообщение от cherv
Насколько я понимаю (пусть более осведомленные люди меня поправят), есть такие варианты:
1. Использовать Axapta в качестве как отправляющего запросы своему Business Connector'у, так и принимающего обратно ответы приложения (что не очень хорошо, так как будет тратиться зря время и ресурсы на общение "сам с собой", да и странная получится архитектура решения); 2. Изменить под себя классы Axd (убрать все лишнее - что тоже не очень хорошо) или написать классы-наследники (что долго). 3. Использовать класс XmlTextReader (альтернатива - AxdXmlReader) для написания своего решения. Главный вопрос, как всегда, самый частый не только на этом форуме, но и, наверное, в жизни - а зачем это нужно? Судя по постановке вопроса, то ли просто хочется сделать тестовый пример для будущего взаимодействия с внешней системой (тогда все более-менее понятно), либо есть какое-то непонимание (зачем такой сложный обмен, когда внутри приложения все данные можно получить гораздо проще?). Удачи в начинаниях! Одним из путей решения является путь через AIF. Т.к. он гаррантирует целостность данных в аксапте и как я посмотрел имеет весьма хорошую архитектуру (квери, класы оболочки для таблиц и класы "документы") и возможность некой автоматизации труда - визард генерирующий оболочку для таблиц. Но ввиду того, что требуются значительные изменения в AIF, что бы прийти к варианту необходимому для интеграции - стандартный форкфлов AIF соблюсти не получится. Поэтому как вариант сделать свою джобу или прикрутить внешние ивенты к аксапте и тянуть из нее данные. Но сама подготовка XML будет внутри аксапты и передаваться через джобу в файл или при подписке на ивенты. |
|