Я хочу создать пакетное задание в X++ для Microsoft Axapta 3.0 (Dynamics AX).
Как я могу создать задание, которое выполняет функцию X++, подобную этой?
static void ExternalDataRead(Args _args)
{
...
}
Я хочу создать пакетное задание в X++ для Microsoft Axapta 3.0 (Dynamics AX).
Как я могу создать задание, которое выполняет функцию X++, подобную этой?
static void ExternalDataRead(Args _args)
{
...
}
Вот минимум, необходимый для создания пакетного задания в AX:
Создайте пакетное задание, создав новый класс, расширяющий класс RunBaseBatch
:
class MyBatchJob extends RunBaseBatch
{
}
Реализуйте абстрактный метод pack()
:
public container pack()
{
return connull();
}
Реализуйте абстрактный метод unpack()
:
public boolean unpack(container packedClass)
{
return true;
}
Переопределите метод run()
кодом, который вы хотите выполнить:
public void run()
{
;
...
info("MyBatchJob completed");
}
Добавьте в свой класс статический метод main
, чтобы создать экземпляр вашего класса и вызвать стандартный диалог RunBaseBatch
:
static void main(Args _args)
{
MyBatchJob myBatchJob = new MyBatchJob();
;
if(myBatchJob.prompt())
{
myBatchJob.run();
}
}
Если вы хотите, чтобы у вашего пакетного задания было описание в списке пакетов, добавьте в свой класс статический метод description
:
server client static public ClassDescription description()
{
return "My batch job";
}