Dynamics AX Blog - Dynamics AX 2012 - Page 14

These posts are machine-translated.
Currently, only posts are displayed, which are relevant for Dynamics AX version »Dynamics AX 2012« Filter entfernen

RSS-Feed of this version

Reporting a production order as finished

Below 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/LedgerDimension

Below you'll find a code example of how to generate a RecId of type DefaultDimension for several dimensions.
Subsequently, these DefaultDimension is combined with a main account to RecId of type LedgerDimension.

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 order

The 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 code

With the help of the following lines, I want to show how you can post a purchase order by code.

Those, who want to have more control over the data to be posted, should take a look at the parameters of purchFormLetter.update().

static void postPurchaseOrder(Args _args)
{
    PurchTable purchTable = PurchTable::find("000025");
    PurchFormLetter purchFormLetter;

    purchFormLetter = PurchFormLetter::construct(DocumentStatus::PurchaseOrder);
    purchFormLetter.update(purchTable, "", systemDateGet(), PurchUpdate::All);
}

 
 

Post sales order confirmation through code

With the help of the following lines, I want to show how you can post a sales order confirmation by code.

Those, who want to have more control over the data to be posted, should take a look at the parameters of salesFormLetter.update().

static void postSalesConfirmation(Args _args)
{
    SalesTable salesTable = SalesTable::find("000747");
    SalesFormLetter salesFormLetter;

    salesFormLetter = SalesFormLetter::construct(DocumentStatus::Confirmation);
    salesFormLetter.update(salesTable, systemDateGet(), SalesUpdate::All);
}

 
 

Post sales packing slip through code

With the help of the following lines, I want to show how you can post a sales packing slip by code.

Those, who want to have more control over the data to be posted, should take a look at the parameters of salesFormLetter.update().

static void postSalesPackingslip(Args _args)
{
    SalesTable salesTable = SalesTable::find("000747");
    SalesFormLetter salesFormLetter;

    salesFormLetter = SalesFormLetter::construct(DocumentStatus::PackingSlip);
    salesFormLetter.update(salesTable, systemDateGet(), SalesUpdate::All);
}

 
 

Post sales invoice through code

With the help of the following lines, I want to show how you can post a sales invoice by code.

Those, who want to have more control over the data to be posted, should take a look at the parameters of salesFormLetter.update().

static void postSalesInvoice(Args _args)
{
    SalesTable salesTable = SalesTable::find("000747");
    SalesFormLetter salesFormLetter;

    salesFormLetter = SalesFormLetter::construct(DocumentStatus::Invoice);
    salesFormLetter.update(salesTable, systemDateGet(), SalesUpdate::All);
}

 
 
Pages « 1 ... 11 12 13 14 15 16 17 ... 22 » 

 

 
 
 
Posts of the actual month
April 2024
MoTuWeThFrSaSu
1234567
891011121314
15161718192021
22232425262728
2930 
 
© 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.