Dynamics AX Blog - Page 17

These posts are machine-translated.

Determine the (delivery-)address of a party

The job presented here determines the delivery address of a debitor. The first one found (if the customer has several delivery addresses) is shown via the infolog.

Of course, instead of a customer, any other entity stored in the Global Address Book (vendors, persons, ...) can be queried.

static void getAddressFromParty(Args _args)
{
    CustTable custTable = CustTable::find('US-003');
    Addressing addressing;

    // Get (first found) delivery address (denormalized)
    addressing =
    DirParty::getPostalAddressByType(custTable.Party, LogisticsLocationRoleType::Delivery);

    info(addressing);
}

In this way, of course, other addresses can be determined, in the example, the payment address:

static void getAddressFromParty(Args _args)
{
    CustTable custTable = CustTable::find('US-003');
    Addressing addressing;

    // Get (first found) payment address
    addressing =
    DirParty::getPostalAddressByType(custTable.Party, LogisticsLocationRoleType::Payment);

    info(addressing);
}

 
 

Report a production order as finished through code

Screenshot

Dynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is reported as finished.

If you want to update several production orders at the same time, you must invoke the ProdMultiReportFinished.insert() method per production order and pass the respective record of ProdTable.

 

static void prodReportFinished(Args _args)
{
    ProdTable prodTable;
    ProdMultiReportFinished prodMultiReportFinished;

    prodTable = ProdTable::find("P000195");

    prodMultiReportFinished = ProdMultiReportFinished::construct(new Args());
    RunBaseMultiParm::initParm(prodMultiReportFinished);
    prodMultiReportFinished.insert(prodTable, prodMultiReportFinished.defaultParmBuffer());

    prodMultiReportFinished.run();
}
 

 
 

Start production order through code

Screenshot

Dynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is started.

If you want to update several production orders at the same time, you must invoke the ProdMultiStartUp.insert() method per production order and pass the respective record of ProdTable.

 

static void prodStartUp(Args _args)
{
    ProdTable prodTable;
    ProdMultiStartUp prodMultiStartUp;

    prodTable = ProdTable::find("P000160");

    prodMultiStartUp = ProdMultiStartUp::construct(new Args());
    RunBaseMultiParm::initParm(prodMultiStartUp);
    prodMultiStartUp.insert(prodTable, prodMultiStartUp.defaultParmBuffer());

    prodMultiStartUp.run();
}
 

 
 

Release production order through code

Screenshot

Dynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is released.

If you want to update several production orders at the same time, you must invoke the ProdMultiRelease.insert() method per production order and pass the respective record of ProdTable.

 

static void prodRelease(Args _args)
{
    ProdTable prodTable;
    ProdMultiRelease prodMultiRelease;

    prodTable = ProdTable::find("P000177");

    prodMultiRelease = ProdMultiRelease::construct(new Args());
    RunBaseMultiParm::initParm(prodMultiRelease);
    prodMultiRelease.insert(prodTable, prodMultiRelease.defaultParmBuffer());

    prodMultiRelease.run();
}
 

 
 

Cost estimate a production order through code

Screenshot

Dynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is cost estimated.

If you want to update several production orders at the same time, you must invoke the ProdMultiCostEstimation.insert() method per production order and pass the respective record of ProdTable.

 

static void prodCostEstimation(Args _args)
{
    ProdTable prodTable;
    ProdMultiCostEstimation prodMultiCostEstimation;

    prodTable = ProdTable::find("P000160");

    prodMultiCostEstimation =
    ProdMultiCostEstimation::construct(new Args());

    RunBaseMultiParm::initParm(prodMultiCostEstimation);
    prodMultiCostEstimation.insert(
        prodTable,
        prodMultiCostEstimation.defaultParmBuffer());

    prodMultiCostEstimation.run();
}

 


 
 

AX 2012: How to create a person in Global address book throgh code

Using the following job you will be able to create a person in the global address book of Dynamics AX 2012.

Please be aware, that a minimum of fields will be used and the so-called Record type has the value of "Person".

 

static void createPerson(Args _args)
{
    AxDirPerson axDirPerson;
    AxDirPersonName axDirPersonName;
    FirstName firstName = "Firstname";
    LastName lastName = "LastName";

    axDirPerson = AxDirPerson::construct();
    axDirPerson.validateInput(true);
    axDirPerson.continueOnError(true);  // Validate fields without stopping error

    axDirPerson.parmName(strFmt("%1 %2", firstName, lastName));

    axDirPerson.save();

    axDirPersonName = new AxDirPersonName();
    axDirPersonName.validateInput(true);
    axDirPersonName.continueOnError(true);  // Validate fields without stopping error

    axDirPersonName.parmFirstName(firstName);
    axDirPersonName.parmLastName(lastName);
    axDirPersonName.parmPerson(axDirPerson.dirPerson().RecId);

    axDirPersonName.parmValidFrom(DateTimeUtil::minValue());
    axDirPersonName.parmValidTo(DateTimeUtil::maxValue());

    axDirPersonName.save();
}

 
 

AX 2012: How to create a record in Global address book throgh code

Using the following job you will be able to create a organization in the global address book of Dynamics AX 2012.

Please be aware, that a minimum of fields will be used and the so-called Record type has the value of "Any".

 

Please note, that this type of record is only conditionally suitable for companies. This record type for exmaple controls the displayed fields in the vendor from. Furthermore, please be aware that - as far as i know - this Record type cannot be changed in Dynamics AX.

static void createDirPartyTable(Args _args)
{
    AxDirPartyTable axDirPartyTable;

    axDirPartyTable = AxDirPartyTable::construct();
    axDirPartyTable.validateInput(true);
    axDirPartyTable.continueOnError(true);  // Validate fields without stopping error

    axDirPartyTable.parmName(           'Name of Organization');
    axDirPartyTable.parmNameAlias(      'Namealias');
    axDirPartyTable.parmLanguageId(     'de-at');
    axDirPartyTable.parmPartyNumber(    '200000');

    axDirPartyTable.save();
}

 
 
Pages « 1 ... 14 15 16 17 18 19 20 ... 24 » 

 

 
 
 
Posts of the actual month
Mai 2024
MoTuWeThFrSaSu
 12345
6789101112
13141516171819
20212223242526
2728293031 
 
© 2006-2024 Heinz Schweda | Imprint | Contact | German version | Mobile version
In order to provide you with better service, this site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.