martedì 18 ottobre 2016

AX 2012 - Gestione del marking via X++

Il codice sottostante serve per mettere in marking due transazioni:

 public void markTransactions(InventTransId _inventTransId,InventTransId _refInventTransId,InventDim _inventDim,InventQty _qtyTomark)  
 {  
      InventTransOriginId     inventTransOriginId     = InventTransOrigin::findByInventTransId(_inventTransId).RecId;  
      InventTransOriginId     refInventTransOriginId   = InventTransOrigin::findByInventTransId(_refInventTransId).RecId;  

      InventTransOrigin::updateMarking(inventTransOriginId,  
                          refInventTransOriginId,  
                          _qtyTomark);  

      InventTransOrigin::updateMarking(refInventTransOriginId,  
                          inventTransOriginId,  
                          -_qtyTomark,//il marking è possibile solo tra qty di segno opposto  
                          "",  
                          SortOrder::Ascending,  
                          false,  
                          _inventDim);  
 }