mercoledì 14 novembre 2012

Dimensioni inventariali - cambio magazzino

In questo breve post vedremo come manipolare le dimensioni inventariali. In particolare vedremo come cambiare il magazzino di un articolo da riga ordine cliente dal magazzino 'ML' al magazzino 'A'. Se apriamo la sales line, il magazino è indicato nel tab dimensione -> gruppo dimensioni inventariali -> magazzino


Per cambiare magazzino dobbiamo:

  1. Prendere il codice attuale della dimensione inventariale
  2. Modificare il magazzino
  3. Ricalcolare il nuovo codice (o cercarlo se già esiste)
  4. Riassegnare il nuovo codice alla riga d'ordine 
 static void InventLocationIdChange(Args _args)  
 {  
   InventDim  InventDimNew;  
   SalesLine  SalesLine;  
   ttsbegin;  
   select firstOnly forupdate SalesLine;  
   InventDimNew = SalesLine.inventDim();  
   InventDimNew.InventLocationId = 'A';  
   InventDimNew = InventDim::findOrCreate(InventDimNew);  
   SalesLine.InventDimId = InventDimNew.inventDimId;  
   SalesLine.update();  
   ttscommit;  
 }  

Se andiamo a riaprire la riga d'ordine, vediamo che il magazzino è stato modificato:


In modo analogo si possono cambiare tutti gli altri attributi delle dimensioni inventariali

Nessun commento:

Posta un commento