Im AOT befinden sich einige tutorial-Objekte, die dem Entwickler dabei helfen können, die eine oder andere Anforderung zu lösen. Eine dieser Klassen ist die Klasse tutorial_RunbaseForm, die erklärt wie man statt einem Dialog ein eigens erstelltes Formular als Dialog verwendet.
Auf Basis dieses Turorials habe ich in Dynamics AX 2012 eine Anforderung wie folgt gelöst:
In der Klasse wmsArrivalStart - das ist jene Klasse, die aus der Wareneingangsübersicht aus aufgerufen werden kann und Wareneingangsjournale erstellt - eine neue Methode MyDialog eingebaut, die ein Formular namens MyWMSArravialStart als Dialog aufruft. Diesem Formular wird eine temporäre Tabelle wmsArrivalDetailTmp übergeben und in einem Grid dargestellt.
Das Formular baut auf Basis dieser Tabelle wmsArrivalDetailTmp eine weitere temporäre Tabelle namens TmpWMSArrivalStartReturn auf und retourniert diese an die Klasse WMSArrivalStart.
Die Methode MyDialog wird von der run-Methode der Klasse WMSArrivalStart aus aufgerufen und öffnet das Formular MyWMSArrivalStart. Dabei wird diesem Formular über eine entsprechende Parameter-Methode die Tabelle wmsArrivalDetailTmp übergeben. Auf Basis dieser Tabelle wird im Formular eine temporäre Tabelle TmpWMSArrivalStart aufgebaut und in einem Grid angezeigt. Hat der Benutzer in diesem Grid seine Eingaben gemacht, wird diese temporäre Tabelle über die Methode getTmpWMSArrivalStart an die Klasse retourniert.
In der run-Methode des Formulares wird die Methode fillTables aufgerufen, welche die von der Klasse übergebenen Daten verarbeitet (über die Methode parmWmsArrivalDetailTmp)
public void run()
{
this.fillTables();
super();
}
Die Methode parmWmsArrivalDetailTmp dient zum Übergeben der Datensätze der Tabelle WmsArrivalDetailTmp
Die Methode fillTables baut auf Basis der Tabelle WmsArrivalDetailTmp eine weitere Tabelle auf. Diese Tabelle dient gleichzeitig als DataSource des Formulares und wird in einem Grid dargestellt.
Klickt der Benutzer auf den OK-Button des Formulares wird über die Methode getTmpWMSArrivalStart der Inhalt der Tabelle TmpWMSArrivalStart an die Klasse retourniert.
public TmpWMSArrivalStart getTmpWMSArrivalStart()
{
return TmpWMSArrivalStartReturn;
}
Abschliessend noch ein paar Anmerkungen zum Formular selbst:
Die Form muss eine Gruppe namens dialogStartGrp enthalten
Die Form benötigt auch die entsprechenden Buttons (dafür am besten die gesamte Gruppe BottomButtonGrp des Formulares tutorial_RunbaseForm übernehmen
Das Beispiel funktioniert prinzipiell in AX 2009 genauso wie in AX 2012.
Dieser Beitrag bezieht sich auf die Versionen: Dynamics AX 2009, Dynamics AX 2012
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
Im AOT befinden sich einige tutorial-Objekte, die dem Entwickler dabei helfen können, die eine oder andere Anforderung zu lösen. Eine dieser Klassen ist die Klasse tutorial_RunbaseForm, die erklärt wie man statt einem Dialog ein eigens erstelltes Formular als Dialog verwendet.
Auf Basis dieses Turorials habe ich in Dynamics AX 2012 eine Anforderung wie folgt gelöst:
In der Klasse wmsArrivalStart - das ist jene Klasse, die aus der Wareneingangsübersicht aus aufgerufen werden kann und Wareneingangsjournale erstellt - eine neue Methode MyDialog eingebaut, die ein Formular namens MyWMSArravialStart als Dialog aufruft. Diesem Formular wird eine temporäre Tabelle wmsArrivalDetailTmp übergeben und in einem Grid dargestellt.
Das Formular baut auf Basis dieser Tabelle wmsArrivalDetailTmp eine weitere temporäre Tabelle namens TmpWMSArrivalStartReturn auf und retourniert diese an die Klasse WMSArrivalStart.
Die Methode MyDialog wird von der run-Methode der Klasse WMSArrivalStart aus aufgerufen und öffnet das Formular MyWMSArrivalStart. Dabei wird diesem Formular über eine entsprechende Parameter-Methode die Tabelle wmsArrivalDetailTmp übergeben. Auf Basis dieser Tabelle wird im Formular eine temporäre Tabelle TmpWMSArrivalStart aufgebaut und in einem Grid angezeigt. Hat der Benutzer in diesem Grid seine Eingaben gemacht, wird diese temporäre Tabelle über die Methode getTmpWMSArrivalStart an die Klasse retourniert.
Aufruf der Methode aus der run-Methode der Klasse wmsStartArrival
In der run-Methode des Formulares wird die Methode fillTables aufgerufen, welche die von der Klasse übergebenen Daten verarbeitet (über die Methode parmWmsArrivalDetailTmp)
Die Methode parmWmsArrivalDetailTmp dient zum Übergeben der Datensätze der Tabelle WmsArrivalDetailTmp
Die Methode fillTables baut auf Basis der Tabelle WmsArrivalDetailTmp eine weitere Tabelle auf. Diese Tabelle dient gleichzeitig als DataSource des Formulares und wird in einem Grid dargestellt.
Klickt der Benutzer auf den OK-Button des Formulares wird über die Methode getTmpWMSArrivalStart der Inhalt der Tabelle TmpWMSArrivalStart an die Klasse retourniert.
Abschliessend noch ein paar Anmerkungen zum Formular selbst:
Das Beispiel funktioniert prinzipiell in AX 2009 genauso wie in AX 2012.