adsenseheader

Thursday, October 20, 2022

Link Purchase order and Sales order through Marking in x++ D365 FO

Public void LinkPOAndSO(InventTransId _poTransid InventTransId _soTransId Qty _qtyToMark)
{
tmpInventTransMark tmpInventTransMark;
InventTransId issueInventTransId = _poTransid;
InventTransId receiptInventTransId = _soTransId;
InventTransOriginId receiptInventTransOriginId =
InventTransOrigin::findByInventTransId(receiptInventTransId).RecId;
InventTrans receiptInventTrans =
InventTrans::findByInventTransOrigin(receiptInventTransOriginId);
InventTransOriginId issueInventTransOriginId =
InventTransOrigin::findByInventTransId(issueInventTransId).RecId;
InventTrans issueInventTrans =
InventTrans::findByInventTransOrigin(issueInventTransOriginId);
MarkingCollection 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;
if (_qtyToMark)
{
qtyToMark = _qtyToMark;
}
else
{
qtyToMark = issueInventTrans.Qty;
}
tmpInventTransMark.QtyMarkNow = qtyToMark;
tmpInventTransMark.QtyRemain -= tmpInventTransMark.QtyMarkNow;
Map mapUpdated = new Map(Types::Int64 Types::Record);
mapUpdated.insert(tmpInventTransMark.RecId tmpInventTransMark);
TmpInventTransMark::updateTmpMark(
receiptInventTransOriginId
receiptInventTrans.inventDim()
-qtyToMark
mapUpdated.pack());
}
}

No comments:

Post a Comment