journal etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
journal etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

20 Temmuz 2015 Pazartesi

AXAPTA - Post invent journal which it's form open

If you want to post a record like this, AX will not let you post, with an error about record is using by another. This code part I learned from Volkan Şişman lets to post:

InventJournalCheckPost      journalCheckPost;
JournalForm                 journalForm;

;
...
journalForm      = JournalForm::fromArgs(args);
journalCheckPost = InventJournalCheckPost::newFromForm(args,journalForm);
journalForm.runbaseMainStart();
journalCheckPost.run();
journalForm.runbaseMainEnd(journalCheckPost,false);

27 Aralık 2011 Salı

AXAPTA post invent journal

    journalTableData        journalTabledata;
    inventJournalTable      inventJournalTable;
    InventJournalCheckPost  journalCheckPost;
    ;
    inventJournalTable = inventJournalTable::find(Line.InventJournalId);
    // Posting Journal
    journalTableData = JournalTableData::newTable(inventJournalTable);
    journalTableData.updateBlock(JournalBlockLevel::InUse,JournalBlockLevel::None);
    if (infolog.num(Exception::Error))
        return;
    infolog.clear(0);
    journalCheckPost =
    InventjournalCheckPost::newJournalCheckPost(JournalCheckPostType::Post,InventJournalTable);
    journalCheckPost.parmAutoBlock(true);
    journalCheckPost.run();
    if(journalTableData.hasErrors())
        return;

22 Aralık 2011 Perşembe

AXAPTA invent journal

When we were working with forms we just select InventJournalName and default parameters come. At working with code we have to put our parameters (or that is the way just I can found):

    InventJournalTrans  inventJournalTrans;
    InventJournalTable  inventJournalTable;
    InventJournalName   inventJournalName;
    InventDim toInventDim;
    InventDim tempInventDimTo; 
     ;
    // Process Journal Header
    inventJournalName   = "MyJournalName"
    inventJournalTable.initValue();
    inventJournalTable.JournalId        = NumberSeq::newGetNum(InventParameters::numRefInventJournalId()).num();
    inventJournalTable.Description      = InventJournalName.Description;
    inventJournalTable.Reservation      = ItemReservation::Automatic;
    inventJournalTable.JournalType      = inventJournalType::Transfer;

    inventJournalTable.BlockUserGroupId     = inventJournalName.BlockUserGroupId;
    inventJournalTable.JournalNameId        = inventJournalName.JournalNameId;
    inventJournalTable.ApprUserGroup        = inventJournalName.ApprUserGroup;
    inventJournalTable.ApprFromSiteId       = inventJournalName.ApprFromSiteId;
    inventJournalTable.ApprFromLocationId   = inventJournalName.ApprFromLocationId;
    inventJournalTable.ApprFromWMSLocationId= inventJournalName.ApprFromWMSLocationId;
    inventJournalTable.ApprFromBatchId      = inventJournalName.ApprFromBatchId;
    inventJournalTable.ApprToSiteId         = inventJournalName.ApprToSiteId;
    inventJournalTable.ApprToLocationId     = inventJournalName.ApprToLocationId;
    inventJournalTable.ApprToWMSLocationId  = inventJournalName.ApprToWMSLocationId;
    inventJournalTable.ApprToBatchId        = inventJournalName.ApprToBatchId;
    inventJournalTable.VoucherSeqId         = inventJournalName.VoucherSeqId;

    inventJournalTable.insert();
toInventDim.clear();
toInventDim.initValue();
toInventDim.wMSLocationId = inventJournalName.ApprtoWMSLocationId;
toInventDim.InventLocationId = inventJournalName.ApprtoLocationId;
toInventDim.InventSiteId      = inventJournalName.ApprtoSiteId;


    // Process journal lines
    inventJournalTrans.initValue();
    inventjournaltrans.initFromInventJournalTable(inventJournalTable);
    inventJournalTrans.Voucher      = NumberSeq::newGetNum(InventParameters::numRefInventJournalVoucherId()).num();
    inventJournalTrans.ItemId       = "MyItem001";
    InventJournalTrans.initFromInventTable(Inventtable::find(InventJournalTrans.ItemId));
    inventJournalTrans.TransDate    = systemDateGet();
    inventJournalTrans.Qty          = -1;
    inventJournalTrans.InventDimId = tempInventDimto.inventDimId;
    // reservation check
    if (!InventMoveMent::setAutoReserving(InventJournalTrans))
    {
        inventJournalTable.delete();
        return;
    }
    inventJournalTrans.insert();