迭代任何 table
Iterating over any table
我刚开始新工作,他们使用 dynamics ax 2009。我是这项技术的新手。
x++ 中有没有一种方法可以遍历任何 table?
我不知道数据从何而来,无论是长度还是字段数。
我的意思是我需要一个像这样的函数
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
}
}
}
(Table 我的意思是所有 table 中的某种 parent。这基本上是我的问题 - 是否有所有 table 中的 parent 或类似的东西可以帮助我实现这样的目标?
抱歉格式化了,我是在移动设备上输入的
Common
table 是所有 table 的基础 class。它不包含任何数据。它主要用于 X++ 代码中以多态方式引用任何 table。请检查 Dictionary
classes 来解决您的问题:
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);
}
}
}
}
看到这个answer。它涉及使用 class Dictionary
和 DictTable
进行反射。
查看 Common class 上的 xml() 方法,它可能有助于生成代表当前记录的 XML。
我刚开始新工作,他们使用 dynamics ax 2009。我是这项技术的新手。
x++ 中有没有一种方法可以遍历任何 table? 我不知道数据从何而来,无论是长度还是字段数。
我的意思是我需要一个像这样的函数
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
}
}
}
(Table 我的意思是所有 table 中的某种 parent。这基本上是我的问题 - 是否有所有 table 中的 parent 或类似的东西可以帮助我实现这样的目标?
抱歉格式化了,我是在移动设备上输入的
Common
table 是所有 table 的基础 class。它不包含任何数据。它主要用于 X++ 代码中以多态方式引用任何 table。请检查 Dictionary
classes 来解决您的问题:
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);
}
}
}
}
看到这个answer。它涉及使用 class Dictionary
和 DictTable
进行反射。
查看 Common class 上的 xml() 方法,它可能有助于生成代表当前记录的 XML。