2017-06-01 5 views
1

Ich habe gerade einen neuen Job begonnen, wo sie Dynamics AX 2009 verwenden. Ich bin neu in dieser Technologie.Iterating über jede Tabelle

Gibt es in x ++ eine Möglichkeit, über jede Tabelle zu iterieren? Ich weiß nicht, woher die Daten stammen, weder die Länge noch die Anzahl der Felder.

Was ich damit meine ist, ich eine Funktion benötigen, die wie dieses

void convert(Table anyTable) 
{ 
    int i=0; 
    int k=0; 
    ; 

    for(i; i < anyTable.Lenght; i++) 
    { 
     for(k; k < anyTable[i].Count; k++) 
     { 
      //some xml processing 
     } 
    } 
} 

verhalten würde (von Tabelle I eine Art von Eltern aller Tabellen bedeuten). Und das ist im Grunde meine Frage - gibt es einen Elternteil aller Tische oder etwas in der Art, die mir helfen können, so etwas zu erreichen?

Es tut mir leid für die Formatierung, in Typisierung dieses von mobilem Gerät

+0

Überlegen Sie, eine Antwort zu akzeptieren. –

Antwort

3

Die Common Tabelle ist die Basisklasse für alle Tabellen. Es enthält keine Daten. Es wird hauptsächlich in X ++ - Code verwendet, um polymorph auf jede Tabelle zu verweisen. Bitte überprüfen Sie Dictionary Klassen um Ihr Problem zu lösen:

void convert(Common _common) 
{ 
    DictTable  dictTable; 
    FieldId   fieldId; 
    anytype   value; 
    ; 

    dictTable = new dictTable(_common.TableId); 

    if (dictTable) 
    { 
     while select _common 
     { 
      fieldId = dictTable.fieldNext(0); 

      while (fieldId) 
      { 
       value = _common.(fieldId); 

       //do processing 

       fieldId = dictTable.fieldNext(fieldId); 
      } 
     } 
    } 
} 
+0

Ist es möglich, einen Wert aus der gemeinsamen Tabelle zu erhalten, so wie ich es in den meisten Mainstream-Sprachen tun würde - _common [0] [2]. Wert oder etwas? – Luntri

+1

Bitte überprüfen Sie die aktualisierte Antwort. –

1

dieses answer See. Es beinhaltet die Verwendung der Klasse Dictionary und DictTable für die Reflexion.

0

Wenn Sie die xml() - Methode für die Common-Klasse auschecken, kann dies dazu beitragen, dass Ihr XML den aktuellen Datensatz darstellt.