Dynamics AX Blog - Dynamics AX 2012 - Posts from 2014

RSS-Feed of this version
Check/Post a route card journal for a production orderBelow is a sample of X++ code which can be used to check or post a route card journal for a production order. Changing the value of the Enum JournalCheckPostType controls if the journal is checked or checked and posted.
static void checkPostProdJournalTableRoute(Args _args)
{
JournalCheckPost journalCheckPost;
ProdJournalTable prodJournalTable = ProdJournalTable::find("00943", true);
// Check/Post journal
journalCheckPost = ProdJournalCheckPostRoute::newJournalCheckPost(false,
true,
JournalCheckPostType::Check,
prodJournalTable.TableId,
prodJournalTable.JournalId);
journalCheckPost.run();
} |
Check/Post a job card journal for a production orderBelow is a sample of X++ code which can be used to check or post a job card journal for a production order. Changing the value of the Enum JournalCheckPostType controls if the journal is checked or checked and posted.
static void checkPostProdJournalTableRouteJob(Args _args)
{
JournalCheckPost journalCheckPost;
ProdJournalTable prodJournalTable = ProdJournalTable::find("00943", true);
// Check/Post journal
journalCheckPost = ProdJournalCheckPostRouteJob ::newJournalCheckPost(false,
true,
JournalCheckPostType::Check,
prodJournalTable.TableId,
prodJournalTable.JournalId);
journalCheckPost.run();
} |
Reporting a production order as finishedBelow is a sample of X++ code which can be used to check or post a report as finished journal for a production order. Changing the value of the Enum JournalCheckPostType controls if the journal is checked or checked and posted.
static void checkPostProdJournalTablePostProd(Args _args)
{
JournalCheckPost journalCheckPost;
ProdJournalTable prodJournalTable = ProdJournalTable::find("00943", true);
// Check/Post journal
journalCheckPost = ProdJournalCheckPostProd::newJournalCheckPost(false,
true,
JournalCheckPostType::Check,
prodJournalTable.TableId,
prodJournalTable.JournalId);
journalCheckPost.run();
} |
AX 2012: Building a DefaultDimension/LedgerDimensionBelow you'll find a code example of how to generate a RecId of type DefaultDimension for several dimensions.
static void buildDefaultAndLedgerDimension(Args _args)
{
DimensionAttributeValueSetStorage dimensionAttributeValueSetStorage;
DimensionAttribute dimensionAttribute;
DimensionAttributeValue dimensionAttributeValue;
DimensionDefault dimensionDefault;
LedgerDimensionAccount ledgerDimensionAccount;
dimensionAttributeValueSetStorage = new DimensionAttributeValueSetStorage();
// BusinessUnit
dimensionAttribute = DimensionAttribute::findByName('BusinessUnit');
if(dimensionAttribute)
{
dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, '069', false, true);
dimensionAttributeValueSetStorage.addItem(dimensionAttributeValue);
}
// CostCenter
dimensionAttribute = DimensionAttribute::findByName('CostCenter');
if(dimensionAttribute)
{
dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, '010', false, true);
dimensionAttributeValueSetStorage.addItem(dimensionAttributeValue);
}
// Department
dimensionAttribute = DimensionAttribute::findByName('Department');
if(dimensionAttribute)
{
dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, '024', false, true);
dimensionAttributeValueSetStorage.addItem(dimensionAttributeValue);
}
dimensionDefault = dimensionAttributeValueSetStorage.save();
// Merge main account and source dimension values and return RecId which can be used as ledgerDimension
ledgerDimensionAccount = DimensionDefaultingService::serviceCreateLedgerDimension(DimensionStorage::getDefaultAccountForMainAccountNum("110110"),
dimensionDefault);
info(strFmt("Default dimension recId: %1", dimensionDefault));
info(strFmt("DefaultDimension (Source RecId): %1 LedgerDimension (Merged RecId): %2", dimensionDefault, ledgerDimensionAccount));
} |
Create a picking list-header for production orderThe following job creates a "header" for a picking list for a production order.
static void createProdJournalTable_PickingList_III(Args _args)
{
ProdJournalCreate prodJournalCreate;
prodJournalCreate = new ProdJournalCreate();
prodJournalCreate.parmProdId('P000188');
prodJournalCreate.parmJournalNameId(
ProdJournalName::standardJournalName(
ProdJournalType::Picklist,
prodJournalCreate.parmProdId()));
prodJournalCreate.initProdJournalTableData(ProdJournalType::Picklist);
prodJournalCreate.usedProdJournalTable().insert();
prodJournalCreate.run();
} |
Post purchase order through codeWith the help of the following lines, I want to show how you can post a purchase order by code.
static void postPurchaseOrder(Args _args)
{
PurchTable purchTable = PurchTable::find("000025");
PurchFormLetter purchFormLetter;
purchFormLetter = PurchFormLetter::construct(DocumentStatus::PurchaseOrder);
purchFormLetter.update(purchTable, "", systemDateGet(), PurchUpdate::All);
} |
|
|
|
|
|
|
Below is a sample of X++ code which can be used to check or post a picking list journal for a production order. Changing the value of the Enum JournalCheckPostType controls if the journal is checked or checked and posted.
static void checkPostProdJournalTablePickingList(Args _args) { JournalCheckPost journalCheckPost; ProdJournalTable prodJournalTable = ProdJournalTable::find("00943", true); // Check/Post journal journalCheckPost = ProdJournalCheckPostBOM::newJournalCheckPost(false, true, JournalCheckPostType::Check, prodJournalTable.TableId, prodJournalTable.JournalId); journalCheckPost.run(); }