Как создать пакетное задание X ++ в Axapta 3.0?

StackOverflow https://stackoverflow.com/questions/170088

  •  05-07-2019
  •  | 
  •  

Вопрос

Я хотел бы создать пакетное задание в 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";
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top