Display-Methode mit 2 Datenquellen

Display-Methoden bieten eine einfache Möglichkeit, zum jeweiligen Datensatz zugehörige Daten auch aus anderen Tabellen anzuzeigen.

Was aber macht man, wenn man in einem Formular mit mehreren Datenquellen eine Display-Methode einbinden muss, die auf die gerade im Formular angezeigten Werte zugreifen muss? Hierfür kann man sich der Methoden joinParent() bzw. joinChild() eines Datensatzes bedienen.

Im meinem Fall musste ich im Formular InventOnhandItem (="Am Lager") Daten anzeigen, für deren Berechnung ich sowohl den aktuellen inventSum-Datensatz als auch den aktuellen inventDim-Datensatz benötigte. Diese beiden Datensätze sind üblicherweise über das Feld inventDimId eindeutig verjoint, in erwähntem Formular steht aber genau dieses Feld aufgrund der Einstellmöglichkeiten im Formular (und der damit verbundenen Gruppierung) nicht zur Verfügung. 

Nachstehend nun ein Beispiel für eine solche Display-Methode. Im konkreten Fall wurde die Methode auf der Tabelle inventSum erstellt und verwendet joinChild() um den dazugehörigen inventDim-Datensatz zu lesen:

display amount showMyAmount()
{
    common      childBuffer;
    inventDim   inventDim;
    ;

    childBuffer = this.joinChild();
    if(childBuffer)
    {
        if(childBuffer.TableId == tableNum(inventDim))
        {
            inventDim = childBuffer;
            return myClass::myClassMethod(this.ItemId, inventDim.configId, inventDim.InventSizeId);
        }
    }

    return 0;
}

 Der Code wurde unter AX2009 entwickelt und eingesetzt.

Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2009

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
Mai 2024
MoDiMiDoFrSaSo
 12345
6789101112
13141516171819
20212223242526
2728293031 
 
© 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