GoToMainTable mal anders

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));

    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ü.

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

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
April 2024
MoDiMiDoFrSaSo
1234567
891011121314
15161718192021
22232425262728
2930 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
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