Counting Journal Line Creation Through Code AX X++ D365


 public boolean createCountJourLines(ItemId _itemId, InventDimId _inventDimId, Real _qty, InventJournalId _inventJournalId)
    {
 
        InventTable                                   inventTable;
        InventJournalTable                      inventJournalTable = InventJournalTable::find(_inventJournalId);
        InventItemBarcode                       inventBarCode;
        InventDim                                    inventDim;
        InventLocation                             inventLocation;
        InventJournalTrans                      inventJournalTrans;
        InventDimParm                           inventDimParm;
        boolean                                        ret = false;
        ;
           
            inventTable.clear();
            select * from inventTable
                where inventTable.itemId        == _tmpRetailProductsToAdd.itemId;
     
                         
            select firstonly inventBarCode
            where inventBarCode.itemId      == _ItemId &&
            inventBarCode.inventDimId       == _inventDim;

            inventLocation                            = InventLocation::find(inventJournalTable.InventLocationId);
            inventDim                                   = inventBarCode.inventDim();
            inventDim.InventLocationId          = inventJournalTable.InventLocationId;
            inventDim.InventSiteId              = inventJournalTable.InventSiteId;
                 
            inventDim                                   = InventDim::findOrCreate(inventDim);
            inventDimParm.initFromInventDim(inventDim);
            inventJournalTrans.clear();
            inventJournalTrans.selectForUpdate(true);
            inventJournalTrans.initFromInventJournalTable(inventJournalTable);
            inventJournalTrans.initFromInventTable(inventTable);
            inventJournalTrans.InventDimId      = inventDim.inventDimId;
            inventJournalTrans.InventOnHand   = InventSumDatePhysicalDim::onHandQty(systemDateGet(),inventTable.itemId,inventDim,inventDimParm);
            inventJournalTrans.TransDate           = systemDateGet();
            inventJournalTrans.Qty                      = _qty;
            inventJournalTrans.setCostPrice(inventJournalTrans.InventDimId);
            if (inventJournalTrans.validateWrite())
            {
                inventJournalTrans.insert();
                ret = true;
            }
     
        return ret;
    }

Comments

Popular posts from this blog

On clicked event of form button in D365 X++

Finding unit price of item from trade agreement through code AX X++

Create Sales Line Through Code AX X++ D365 Finance & Operations