Dynamics AX Blog - Beiträge vom März 2020

Momentan angezeigt werden nur Beiträge vom »März 2020«. Filter entfernen

Kommissionierliste für einzelne Positionen eines Verkaufauftrages erfassen

Das nachstehende Code-Beispiel zeigt, wie man per Code eine Kommissionieriste erfassen kann und dabei nur Teilmengen verarbeitet.

Dabei verfolge ich den Ansatz, für die benötigte Menge eine eigene Zeile in der Tabelle WMSOrderTrans zu erstellen (über die Teilen-Funktion) und die aktuell nicht benötigte Menge zu stornieren.

Screenshot

static void pickingListRegistrationPartly(Args _args)
{
    WMSPickingRouteID pickingRouteID = "00066";    // Route id to be picked
    Map inventTransMap = new Map(Types::String, Types::Real);
    MapEnumerator me;
    InventTransId inventTransId;
    Qty pickQty;
    List list = new List(Types::String);
    WmsOrderTrans wmsOrderTrans;
    WmsOrderTrans wmsOrderTransNew;

    list.addEnd(pickingRouteID);

    // Build map containing the lot-ids and quantity to pick
    inventTransMap.insert("014023", 7);
    inventTransMap.insert("014026", 3);
    
    // Change quantity
    me = inventTransMap.getEnumerator();
    while (me.moveNext())
    {
        inventTransId = me.currentKey();    
        pickQty = me.currentValue();
        
        ttsBegin;
        select forupdate wmsOrderTrans
            where wmsOrderTrans.RouteId == pickingRouteID &&
                  wmsOrderTrans.inventTransId == inventTransId &&
                  wmsOrderTrans.FullPallet == NoYes::No &&
                 (wmsOrderTrans.ExpeditionStatus == WMSExpeditionStatus::Registered ||
                  wmsOrderTrans.ExpeditionStatus == WMSExpeditionStatus::Activated  ||
                  wmsOrderTrans.ExpeditionStatus == WMSExpeditionStatus::Started);        
        
        // Split line
        wmsOrderTransNew = wmsOrderTrans.split(pickQty);        
        ttsCommit;
        
        ttsBegin;
        // Cancel remaining line
        wmsOrderTrans.cancel();
        ttsCommit;
    }
    
    // Update
    WMSPickingRoute::finishMulti(list.pack()); 

    wmsDeliverPickedItems::checkDeliverPickedItems(pickingRouteID, list.pack());
}

 
 
 

 

 
 
 
Beiträge des aktuellen Monats
März 2020
MoDiMiDoFrSaSo
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu