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;
;
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
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:
{
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.