![]() |
#9 |
Участник
|
Так и делаю, только если делаешь InventMovement, на основе Inventtrans, он в конце концов всё равно делается на основе salesLine, в InventMovemnet:construct(). InventMov_Sales. На данный момент суммарная InventPickigListJournalLine делается на основе первой, тоесть все остальные прибавяются к ней. Соответсвенна она не удаляется, и InventTrans идет с типом TransChildType Picking list.Тоесть при
X++: reservation = InventUpd_Reservation::newMovement(inventMovement, _qty , _mayBeReduced, _forceNotReserveOrdered, _showInfo); reservation.updateNow(); ищутся InventTrans с X++: inventTrans.TransChildType == None
inventTrans.TransChildRefId == '' Ну и дальше что то типа такого X++: server static void makeReservation(Common _buffer, InventQty _qty, InventDim _inventDim, inventMovement _inventMovement = null, boolean _mayBeReduced =true, boolean _forceNotReserveOrdered = false, boolean _showInfo = true ) { InventMovement inventMovement = _inventMovement; InventUpd_Reservation reservation; InventDim inventDim; InventTrans inventTransLocal; Common _newBuffer; ; if(!inventMovement) { switch (_buffer.TableId) { case tablenum(InventTrans) : inventTransLocal = _buffer; switch (inventTransLocal.TransType) { case InventTransType::Sales : _newBuffer = inventTransLocal.salesLine(); inventMovement = Inventmovement::construct(_newBuffer); break; } break; default: inventMovement = InventMovement::construct(_buffer); break; } } if(_inventDim && inventMovement) { inventDim.data(_inventDim); inventMovement.inventdim(inventDim); } if(inventMovement) { reservation = InventUpd_Reservation::newMovement(inventMovement, _qty , _mayBeReduced, _forceNotReserveOrdered, _showInfo); reservation.updateNow(); } } |
|