
Hi All,
When we update PurchQty in the line, we add PurchLine::modifyPurchQty and InventMovement::bufferSetRemainQty methods.
I don't quite understand how / which elements of InventMovement class are used to generate inventTrans table records with the update of the PurchQty.
For example, if we look at InventMov_Purch class setTransQty method, purchLine.QtyOrdered is updated. but how is this field value update used to generate invent transaction record? which lines of code show the generation of inventTrans table records from InventMovement class instance?
public void setTransQty(InventQty _qtyInvent)
{
// QtyOrdered should only be updated for inventoried items
if (purchLine.isStocked())
{
purchLine.QtyOrdered = _qtyInvent;
}
}
Thank you.
Hi ShawnDEV,
Please check the initInventTransFromBuffer method in the InventMovement class.
public void initInventTransFromBuffer(
InventTrans _inventTrans,
InventMovement _movement_orig)
{
_inventTrans.ItemId = this.itemId();
_inventTrans.InventTransOrigin = this.inventTransOriginId();
_inventTrans.ProjId = this.projId();
_inventTrans.ProjCategoryId = this.projCategoryId();
_inventTrans.ActivityNumber = this.activityNumber();
_inventTrans.DateExpected = this.transDate() ? this.transDate() : DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone());
_inventTrans.TimeExpected = this.transSchedTime();
_inventTrans.ShippingDateRequested = this.shippingDateRequested();
_inventTrans.ShippingDateConfirmed = this.shippingDateConfirmed();
//
_inventTrans.Storno_RU = this.parmStorno_RU();
//
InventTransOriginId markingRefInventTransOrigin = _movement_orig == null || _movement_orig.markingRefInventTransOrigin() == _inventTrans.MarkingRefInventTransOrigin ? this.markingRefInventTransOrigin() : _inventTrans.MarkingRefInventTransOrigin;
_inventTrans.setMarking(markingRefInventTransOrigin);
}