Dynamics AX Blog - Posts from August 2014
These posts are machine-translated.
Determine the (delivery-)address of a partyThe 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); } |
|
|
|
|
|
|
Dynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is ended/finished.
If you want to update several production orders at the same time, you must invoke the ProdMultiHistoricalCost.insert() method per production order and pass the respective record of ProdTable.
{
ProdTable prodTable;
ProdMultiHistoricalCost prodMultiHistoricalCost;
prodTable = ProdTable::find("P000195");
prodMultiHistoricalCost = ProdMultiHistoricalCost::construct(new Args());
RunBaseMultiParm::initParm(prodMultiHistoricalCost);
prodMultiHistoricalCost.insert(prodTable, prodMultiHistoricalCost.defaultParmBuffer());
prodMultiHistoricalCost.run();
}