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

 
 

 

 
 
 
Beiträge des aktuellen Monats
November 2024
MoDiMiDoFrSaSo
 123
45678910
11121314151617
18192021222324
252627282930 
 
© 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