Dynamics AX Blog - Axapta 3.0 - Beiträge von 2008

RSS-Feed dieser Version
Dynamics AX: Die Aktualisierung muss im Rahmen einer Buchung ausgeführt werden
12.11.2008Microsoft Dynamics AX (Axapta)
...heisst nichts anderes, als daß man beim Entwickeln ttsbegin/ttscommit vergessen hat. Eine nicht ganz glücklich ins Deutsche übersetzte Fehlermeldung ;-) |
AX 3.0: Shrinker.Err beim Kompilieren
28.10.2008Microsoft Dynamics AX (Axapta)
Wer unter Windows XP, Windows Server 2003 oder Windows Server 2008 eine Axapta-Applikation der Version 3.0 kompiliert, kann schon mal über nachstehende Fehlermeldung stolpern.
Die Lösung ist einfach einer neuere Version dieser Datei in das Client\Bin-Verzeichnis zu kopieren. Eine solche findet man z.b. unter http://www.janusys.com/janus/beta/downloads_patches.htm. |
Dynamics AX: Illegal property valueWenn man in Dynamics AX versucht die Eigenschaft AllowDuplicates eines Tabellen-Indexes von No auf Yes zu ändern, kann folgende Fehlermeldung auftreten: Illegal property value In diesem Fall ist vermutlich der betroffene Index als PrimaryIndex oder ClusteredIndex der Tabelle eingetragen. Eigentlich auch logisch :-) |
Dynamics AX: Das RunBaseBatch-Framework
09.08.2008Microsoft Dynamics AX (Axapta)
Man braucht es immer wieder, und genau darum findet Ihr im folgenden eine kurze - und bestimmt auch nicht ganz vollständige - Übersicht, wie dieses RunBaseBatch-Framework benutzt werden kann. Erste Anlaufstelle sollte übrigens in jedem Fall die Klasse Tutorial_RunBaseBatch sein, dort werden die wichtigsten Methoden verwendet und man kann sich so zumindest einen groben Überblick verschaffen, was wie möglich ist. Um eine stapelverarbeitungsfähige Klasse zu schaffen, ist diese in erster Linie von RunBaseBatch abzuleiten. Dadurch stehen eine Reihe von Methoden zur Verfügung, von welchen ich einige versuche im Folgenden zu erklären. |
Dynamics AX: Methode des "Callers" aufrufen
17.06.2008Microsoft Dynamics AX (Axapta)
Immer wieder besteht die Notwendigkeit, ein Formular über ein anderes zu öffnen und aus diesem heraus Methoden des Aufrufers aufzurufen. Einfaches Beispiel: Ich öffne aus der Auftragsmaske (Salestable) irgendein anderes Formular (über einen MenuItemButton) und möchte nun beim Schliessen dieses Formulares eine Methode in der Salestable-Maske aufrufen. Achtung: IntelliSense funtioniert in diesem Fall nicht (außer ich möchte eine Methode aufrufen, die im FormRun-Objekt enthalten ist). if (element.args() && element.args().caller()) { if (element.args().caller().name() == formStr(Salestable)) { element.args().caller().myMethod(); } } |
Dynamics AX: Report per Code aufrufen
28.04.2008Microsoft Dynamics AX (Axapta)
Anbei ein Beispiel wie so mancher Report per Code ausgeführt werden kann, und dem Report dabei gleichzeitig ganz bestimmte Datensätze per Query übergeben werden können. static void PrintCustCollectionLetterJour() { CustCollectionLetterJour CustCollectionLetterJour; query query; args args = new args(); reportRun reportRun; ; select firstonly CustCollectionLetterJour; // Irgendein Datensatz // Query aufbauen (mit obigen Datensatz) query = new query(); query.addDataSource(tableNum(CustCollectionLetterJour)); SysQuery::findOrCreateRange(query.dataSourceTable(TableNum(CustCollectionLetterJour)), fieldNum(CustCollectionLetterJour, CollectionLetterNum)).value(CustCollectionLetterJour.CollectionLetterNum); SysQuery::findOrCreateRange(query.dataSourceTable(TableNum(CustCollectionLetterJour)), fieldNum(CustCollectionLetterJour, AccountNum)).value(CustCollectionLetterJour.AccountNum); // Den Query dem Report übergeben args.name(reportstr('CustCollectionJour')); reportRun = classFactory.reportRunClass(args); reportRun.query().interactive(false); reportRun.report().interactive(false); reportRun.query(query); reportRun.init(); reportRun.run(); } |
|
|
|
|
|
|
Mit der Debug-Klasse stellt Microsoft dem Dynamics AX-Entwickler eine Klasse zur Seite, mit deren Hilfe man während des Debuggen von Code sich Informationen anzeigen lassen kann, ohne die Infolog-Klasse missbrauchen zu müssen.