Dynamics AX Blog - Dynamics AX 2012 - whs

RSS-Feed dieser Version
Ladung an Lagerort freigebenDas folgende Code-Snippet führt die Funktion "Für Lagerort freigeben" einer Ladung aus, allerdings ohne die Wellen/Arbeiten zu generieren.
static void Job1(Args _args)
{
ttsBegin;
WHSLoadPostEngine::post(whsLoadTable::find('USMF-000004', true));
ttsCommit;
} |
Welle per Code verarbeitenMit Hilfe des folgenden Code, kann man eine Welle verarbeiten. Dies wird abhängig von den WHS-Parametern bei Aufruf der Funktion "Für Lagerort freigeben" ausgeführt.
WHSPostEngine::post(WaveTable::find('USMF-000000003'));
|
Auftragspositionen zu bestehender Ladung hinzufügenIn diesem Beitrag möchte ich zeigen, wie man alle Positionen eines Auftrages bzw. auch nur einzelne Auftragspositionen per Code zu einer bestehenden Ladung hinzufügen kann. |
Mobile Device Portal: Einfache Prüfung eines FeldesUnlängst hatte ich erstmalig die Anforderung, im Mobile Device Portal (MDP) eine einfache Feldvalidierung einzubauen. Nachdem ich mich etwas mit den WHSWorkExecute-Klassen auseinander gesetzt habe, habe ich die Klassenmethode WHSRFControlData.processData() als gut geeignet für solcherart Prüfungen gefunden.
case #Qty:
qty = WHSWorkExecuteDisplay::str2numDisplay(data);
if (qty <= 0)
{
errorMessage = "@WAX1172";
hasError = true;
break;
}
//--> Start
if (pass.exists(#ProdId) &&
pass.lookupStr(#ProdId) != "" &&
mode == WHSWorkExecuteMode::ReportAsFinished)
{
my_ProdTable = ProdTable::find(pass.lookup(#ProdId));
if (qty + my_ProdTable.reportedFinishedGood() +
my_ProdTable.reportedFinishedError() > my_ProdTable.QtyStUp)
{
errorMessage = "@SYS16097";
hasError = true;
break;
}
}
//<-- End
|
|
|
|
|
|
|
Das folgende Code-Schnipsel zeigt, wie man per Code Wellen und Arbeiten für eine oder mehrere Lieferungen erzeugen kann. Dies wird normalerweise auch aufgerufen, wenn man die Funktion "Für Lagerort freigeben" ausführt.