Die "Gehe zum Haupttabellenformular"-Funktion in AX ist ja was feines. Abhängig von Datenbank-Relationen kümmert sich im Normalfall AX vollkommen autark um diese Funktion. Und wenn einmal keine Relationen zur Verfügung stehen sollten, kann man durch Überschreiben der Methode jumpRef mit nachstehenden Code auf beinahe jedem Eingabe-Feld unter Angabe der Tabelle und des betroffenen Tabellenfeldes - im Beispiel die Debitorengruppe, AX dazu bewegen, das entsprechende Formular zu öffnen.
public void jumpRef()
{
sysDictField sysDictField;
menufunction menufunction;
;
sysDictField = new sysDictField(tableNum(CustTable), fieldNum(CustTable, CustGroup));
Funktioniert in AX 3.0 und 4.0. Das obige Code-Schnippsel öffnet wirklich einfach nur das Formular, einen bestimmten Datensatz innerhalb desselben (z.B. abhängig vom bereits eingetragenen Wert im Eingabe-Feld), kann man damit nicht vorselektieren.
Übrigens, in dem Zusammenhang: Manchmal macht es Sinn, diese Funktion zu deaktivieren. Dazu kann man entweder das super() aus der Methode context entfernen, dann fehlt dem betroffenen Feld aber das komplette Kontext-Menü.
public void context()
{
//super();
}
Zumindest etwas eleganter ist es, das super() aus der Methode jumpRef zu entfernen, dann ist zwar der Menüpunkt im Kontext-Menü nach wie vor vorhanden, aber ohne Funktion.
public void jumpRef()
{
//super();
}
Dieser Beitrag bezieht sich auf die Versionen: Axapta 3.0, Dynamics AX 4.0
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
Die "Gehe zum Haupttabellenformular"-Funktion in AX ist ja was feines. Abhängig von Datenbank-Relationen kümmert sich im Normalfall AX vollkommen autark um diese Funktion. Und wenn einmal keine Relationen zur Verfügung stehen sollten, kann man durch Überschreiben der Methode jumpRef mit nachstehenden Code auf beinahe jedem Eingabe-Feld unter Angabe der Tabelle und des betroffenen Tabellenfeldes - im Beispiel die Debitorengruppe, AX dazu bewegen, das entsprechende Formular zu öffnen.
{
sysDictField sysDictField;
menufunction menufunction;
;
sysDictField = new sysDictField(tableNum(CustTable), fieldNum(CustTable, CustGroup));
menufunction = sysDictField.gotoMainTableMenuFunction();
if(menufunction)
menufunction.run();
}
Funktioniert in AX 3.0 und 4.0. Das obige Code-Schnippsel öffnet wirklich einfach nur das Formular, einen bestimmten Datensatz innerhalb desselben (z.B. abhängig vom bereits eingetragenen Wert im Eingabe-Feld), kann man damit nicht vorselektieren.
Übrigens, in dem Zusammenhang: Manchmal macht es Sinn, diese Funktion zu deaktivieren. Dazu kann man entweder das super() aus der Methode context entfernen, dann fehlt dem betroffenen Feld aber das komplette Kontext-Menü.
{
//super();
}
Zumindest etwas eleganter ist es, das super() aus der Methode jumpRef zu entfernen, dann ist zwar der Menüpunkt im Kontext-Menü nach wie vor vorhanden, aber ohne Funktion.
{
//super();
}