Dieser Beitrag bezieht sich auf die Versionen:
Axapta 3.0, Dynamics AX 4.0
Axapta 3.0, Dynamics AX 4.0
Ich mach das lieber gleich auf tabellenebene (per job) ;) InventTable inventTable; ; inventTable.itemId = 'DL-100-D3' ... inventTable.insert(); kommt doch aufs gleiche hinaus^^ |
|
|
|
|
|
|
Sowohl unter AX3 als auch AX4 gibt es die Klasse AxInventTable, mit der sich ganz einfach per Code Artikel anlegen lassen. Leider ist die Klasse in der 3er-Version noch nicht ganz so programmiererfreundlich, deshalb also anbei zwei Code-Beispiele wie diese Klasse in den beiden AX-Version genutzt werden kann.
Artikel per Code anlegen unter AX4...
static void CreateItemAX4(Args _args) { axInventTable axInventTable; ; axInventTable = new axInventTable(); // Pflichtfeldverprüfung aktivieren axInventTable.validateInput(true); // Werte setzen axInventTable.parmItemId ('DL-100-D4'); axInventTable.parmItemName ('Deckenlampe - Silber'); axInventTable.parmItemGroupId ('Lampen'); axInventTable.parmModelGroupId ('DEF'); axInventTable.parmDimGroupId ('Std-Dim'); // Datensatz speichern axInventTable.save(); }...und AX3
static void CreateItemAX3(Args _args) { axInventTable axInventTable; sysDictTable sysDictTable = new sysDictTable(tableNum(InventTable)); int field; boolean validateField = false; ; axInventTable = new axInventTable(); // Werte setzen axInventTable.itemId ('DL-100-D3'); axInventTable.ItemName ('Deckenlampe - Silber'); axInventTable.ItemGroupId ('Lampen'); axInventTable.ModelGroupId ('DEF'); axInventTable.DimGroupId ('Std-Dim'); // Prüfung der einzelnen Felder for(field = 1; field <= sysDictTable.fieldCnt(); field++) { validateField = axInventTable.inventTable().validateField(field); } // Datensatz speichern if(axInventTable.inventTable().validateWrite() && validateField) { axInventTable.save(); } }