Dynamics AX stellt ein Framework zur Verfügung, mit dessen Hilfe man Produktionsaufträge in einen bestimmten Status überführen kann. Im Beispiel wird ein Produktionsauftrag gestartet.
Wenn man mehrere Aufträge gleichzeitig aktualisieren möchte, muss man die Methode ProdMultiStartUp.insert() einfach entsprechend oft aufrufen und den jeweiligen Datensatz der ProdTable übergeben.
Wer beim Buchen nicht die Standardeinstellungen verwenden möchte, kann die Buchungsparameter natürlich auch noch übersteuern. Wie das geht zeigt der nachstehende Code:
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
Dynamics AX stellt ein Framework zur Verfügung, mit dessen Hilfe man Produktionsaufträge in einen bestimmten Status überführen kann. Im Beispiel wird ein Produktionsauftrag gestartet.
Wenn man mehrere Aufträge gleichzeitig aktualisieren möchte, muss man die Methode ProdMultiStartUp.insert() einfach entsprechend oft aufrufen und den jeweiligen Datensatz der ProdTable übergeben.
{
ProdTable prodTable;
ProdMultiStartUp prodMultiStartUp;
prodTable = ProdTable::find("P000160");
prodMultiStartUp = ProdMultiStartUp::construct(new Args());
RunBaseMultiParm::initParm(prodMultiStartUp);
prodMultiStartUp.insert(prodTable, prodMultiStartUp.defaultParmBuffer());
prodMultiStartUp.run();
}
Wer beim Buchen nicht die Standardeinstellungen verwenden möchte, kann die Buchungsparameter natürlich auch noch übersteuern. Wie das geht zeigt der nachstehende Code:
{
ProdTable prodTable;
ProdMultiStartUp prodMultiStartUp;
ProdParmStartUp prodParmStartUp;
ProdParmStartUp prodParmStartUpUpd;
ttsbegin;
prodTable = ProdTable::find("P000160");
prodMultiStartUp = ProdMultiStartUp::construct(new Args());
RunBaseMultiParm::initParm(prodMultiStartUp);
prodParmStartUp= prodMultiStartUp.defaultParmBuffer();
prodMultiStartUp.insert(prodTable, prodParmStartUp);
// Overwrite parameters using hardcoded settings
prodParmStartUpUpd = ProdParmStartUp::find(prodParmStartUp.ParmId, prodParmStartUp.ProdId, true);
prodParmStartUpUpd.RouteAutoConsump = RouteAutoConsump::Never;
prodParmStartUpUpd.bomAutoConsump = BOMAutoConsump::Never;
prodParmStartUpUpd.update();
prodMultiStartUp.run();
ttscommit;
}