Feldwert eines aufrufenden Objektes ermitteln

In vielen Objekten sieht man Kontrukte wie das folgende, die dazu dienen, einen Wert aus dem aufrufenden Datensatz zu ermitteln.

if (element.args() && element.args().record())
{
    switch (element.args().dataset())
    {
        case tablenum(PurchLine)    :
            itemIdCaller = element.args().record().(fieldNum(purchLine, ItemId));
            break;
        case tablenum(SalesLine)    :
            itemIdCaller = element.args().record().(fieldNum(SalesLine, ItemId));
            break;
        case tablenum(SalesQuotationLine)    :
            itemIdCaller = element.args().record().(fieldNum(SalesQuotationLine, ItemId));
            break;
    }
}

Einfacher geht’s mit unten dem stehenden Stückchen Code! Der grosse Vorteil von diesem ist, daß wann immer man das Objekt von einem Datensatz aus aufruft, der ein Feld namens itemId enthält, die Logik abgearbeitet wird ohne daß man jede Tabelle einzeln im switch-Statement berücksichtigen muss.

if (element.args() && element.args().record())
{
    sysDictTable = new sysDictTable(element.args().dataset());
    if (sysDictTable.fieldName2Id('itemId'))
    {
        itemIdCaller = element.args().record().(sysDictTable.fieldName2Id('itemId'));
    }
}
Dieser Beitrag bezieht sich auf die Versionen:
Dynamics AX 2009, Dynamics AX 2012

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