jeudi 19 avril 2012

Item reception or arrival Journal

The code to create the journal is as follows:
void clicked()
{
    WMSJournalTable         wmsJournalTable;
    WMSJournalTrans         wmsJournalTrans;
    WMSJournalName          wmsJournalName;
    JournalTableData        journalTableData;
    JournalCheckPost        journalCheckPost;
    InventTrans             inventTrans;
    NumberSeq               numberSeq;
    str                     journalNum;
    str                     journalName;
    int                     lineNum = 1;
    int                     logPointerLast;
    int                     lineBeforeCLRError;
    boolean                 errors;
    ;
    journalName = WMSParameters::find().receptionJournalNameId;
    numberSeq = NumberSeq::newGetNumFromCode(NumberSequenceReference::find(1523).NumberSequence);
    journalNum = numberSeq.num();
    wmsJournalName = WMSJournalName::find(journalName);
    ttsbegin;
    wmsJournalTable.initFromWMSJournalName(wmsJournalName);
    wmsJournalTable.JournalNameId        =   journalName;
    wmsJournalTable.JournalId            =   journalNum;
    wmsJournalTable.journalType          =   WMSJournalType::Reception;
    wmsJournalTable.insert();
    journalTableData = JournalTableData::newTable(wmsJournalTable);
    inventTrans = InventTrans::findTransId(inventQuarantineOrder.InventTransId);
    wmsJournalTrans.clear();
    wmsJournalTrans.initFromWMSJournalTable(wmsJournalTable);
    wmsJournalTrans.JournalId                =   journalNum;
    wmsJournalTrans.LineNum                  =   lineNum;
    wmsJournalTrans.TransDate                =   today();
    wmsJournalTrans.ItemId                   =   inventQuarantineOrder.ItemId;
    wmsJournalTrans.Qty                      =   inventQuarantineOrder.Qty * -1;
    wmsJournalTrans.InventDimId              =   inventQuarantineOrder.InventDimId;
    wmsJournalTrans.vendAccount              =   PurchTable::find(inventQuarantineOrder.TransRefId).InvoiceAccount;
    wmsJournalTrans.inventTransType          =   inventQuarantineOrder.TransType;
    wmsJournalTrans.inventTransRefId         =   inventQuarantineOrder.TransRefId;
    wmsJournalTrans.inventTransId            =   inventQuarantineOrder.InventTransIdRef;
    wmsJournalTrans.checkPickingLocation     =   NoYes::No;
    wmsJournalTrans.createQuarantineOrder    =   NoYes::No;
    wmsJournalTrans.inventDimId              =   inventQuarantineOrder.InventDimId;
    wmsJournalTrans.insert();

    journalCheckPost = WMSJournalCheckPostReception::newTypeJournalTable(JournalCheckPostType::Post,wmsJournalTable);
    journalCheckPost.parmAutoBlock(true);
    journalCheckPost.run();
    errors = journalTableData.hasErrors();
    if(errors)
            error(infolog.text(logPointerLast+1));
    ttscommit;
    info(strfmt("Journal # %1 created",journalNum));
}

Aucun commentaire:

Enregistrer un commentaire