Нашла класс PlPurchLineSplit (AX2012 R2)
Вроде как симпатичный и удобный примерчик того, как дробить линии закупок, но как-то меня код внутри смущает - какие-то махинации вручную с inventTrans.
Почему бы просто не сделать что-нить вроде:
X++:
purchLineOld.PurchQty = qty;
purchLineOld.QtyOrdered = purchLineOld.calcQtyOrdered();
PurchLine::modifyPurchQty(purchLineOld, purchLineOld.inventDim(), false);
InventMovement::bufferSetRemainQty(purchLineOld);
if(purchLineOld.validateWrite())
purchLineOld.update();
для "старой" линии и успокоиться?