web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :

Marking via X++

Sasha Nazarov Profile Picture Sasha Nazarov 901
X++ code for marking in D365FO (it is somewhat different from that in AX 2012):

    InventTransId         issueInventTransId   = 'x';
InventTransId receiptInventTransId = 'y';
 
InventTransOriginId receiptInventTransOriginId =
InventTransOrigin::findByInventTransId(receiptInventTransId).RecId;
InventTrans receiptInventTrans =
InventTrans::findByInventTransOrigin(receiptInventTransOriginId);
 
InventTransOriginId issueInventTransOriginId =
InventTransOrigin::findByInventTransId(issueInventTransId).RecId;
InventTrans issueInventTrans =
InventTrans::findByInventTransOrigin(issueInventTransOriginId);
 
collection = TmpInventTransMark::markingCollection(
InventTransOrigin::find(receiptInventTransOriginId),
receiptInventTrans.inventDim(),
receiptInventTrans.Qty);
 
collection.insertCollectionToTmpTable(tmpInventTransMark);
 
select firstonly tmpInventTransMark
where tmpInventTransMark.InventTransOrigin == issueInventTrans.InventTransOrigin
&& tmpInventTransMark.InventDimId == issueInventTrans.InventDimId;
 
if (tmpInventTransMark.RecId != 0)
{
Qty qtyToMark = issueInventTrans.Qty;
 
tmpInventTransMark.QtyMarkNow = qtyToMark;
tmpInventTransMark.QtyRemain -= tmpInventTransMark.QtyMarkNow;
 
mapUpdated = new Map(Types::Int64, Types::Record);
mapUpdated.insert(tmpInventTransMark.RecId, tmpInventTransMark);
 
TmpInventTransMark::updateTmpMark(
receiptInventTransOriginId,
receiptInventTrans.inventDim(),
-qtyToMark,
mapUpdated.pack());
}

This was originally posted here.

Comments

*This post is locked for comments