Miklix

Определение класса документа и запроса для службы AIF в Dynamics AX 2012

Опубликовано: 16 февраля 2025 г. в 11:10:10 UTC
Последнее обновление: 12 января 2026 г. в 08:54:19 UTC

В этой статье объясняется, как использовать простую задачу X++ для поиска класса службы, класса сущности, класса документа и запроса для службы Application Integration Framework (AIF) в Dynamics AX 2012.


Эта страница была переведена с английского языка для того, чтобы сделать ее доступной как можно большему числу людей. К сожалению, машинный перевод еще не является совершенной технологией, поэтому возможны ошибки. Если вы хотите, вы можете просмотреть оригинальную английскую версию здесь:

Identifying Document Class and Query for AIF Service in Dynamics AX 2012

Информация в этом сообщении основана на Dynamics AX 2012 R3. Она может быть или не быть актуальна для других версий.

Когда меня просят добавить новое поле, изменить логику или внести другие изменения в службу документов, работающую на интеграционном порту AIF (входящем или исходящем), я часто трачу слишком много времени на поиск самих классов, лежащих в основе этой службы.

Конечно, большинство элементов стандартного приложения имеют довольно согласованные названия, но слишком часто пользовательский код этого не делает. Формы для настройки служб документов в AIF не предоставляют простого способа увидеть, какой код фактически обрабатывает ту или иную службу, но, зная имя самой службы (которое легко найти в конфигурации портов), вы можете запустить эту небольшую задачу, чтобы сэкономить время — здесь она выполняется для CustCustomerService, но вы можете изменить это на любую другую необходимую вам службу:

static void AIFServiceCheck(Args _args)
{
    AxdWizardParameters param;
    ;

    param   =   AifServiceClassGenerator::getServiceParameters(classStr(CustCustomerService));

    info(strFmt("Service class: %1", param.parmAifServiceClassName()));
    info(strFmt("Entity class: %1", param.parmAifEntityClassName()));
    info(strFmt("Document class: %1", param.parmName()));
    info(strFmt("Query: %1", param.parmQueryName()));
}

Дополнительное чтение

Если вам понравился этот пост, вам также могут понравиться эти предложения:


Поделиться на BlueskyПоделиться на FacebookПоделиться на LinkedInПоделиться на TumblrПоделиться на XПоделиться на LinkedInЗакрепить на Pinterest

Миккель Кристенсен

Об авторе

Миккель Кристенсен
Миккель - создатель и владелец сайта miklix.com. Он имеет более чем 20-летний опыт работы в качестве профессионального программиста/разработчика программного обеспечения и в настоящее время работает на полную ставку в крупной европейской IT-корпорации. Когда он не ведет блог, то тратит свое свободное время на огромное количество интересов, хобби и занятий, что в некоторой степени отражается в разнообразии тем, освещаемых на этом сайте.