使用x ++如何创建作业以读取Microsoft Dynamics AX 2009中表中列的每个值?
答案 0 :(得分:2)
此代码将显示记录的所有列值。
static void Job1(Args _args)
{
DictTable dictTable = new DictTable(tableNum(CustTable));
DictField dictField;
int counter, fieldId;
CustTable custTable;
anytype value;
select firstonly custTable;
for (counter = 1; counter <= dictTable.fieldCnt(); counter++)
{
fieldId = dictTable.fieldCnt2Id(counter);
dictField = new DictField(tableNum(CustTable), fieldId);
if (!dictField.isSystem())
{
value = custTable.(fieldId);
if(value)
{
info(strFmt('%1 = %2',
dictField.label(),
any2str(value)));
}
}
}
}
要获取特定列的所有值,请使用Carlos Heuberger的代码。
答案 1 :(得分:1)
一种可能性:在AOT(Ctrl-D)中右键单击Jobs
并选择New Job
。在新窗口中输入类似的内容(使用您想要阅读的正确表和列名称):
static void Job()
{
YourTable yourTable;
;
while select TheColumn from yourTable
{
// process yourTable.TheColumn
info(strFmt("value: %1", yourTable.TheColumn));
}
}
但thera还有其他一些方法:Select Statements
答案 2 :(得分:-1)
只是一个轻微的模式,取出any2str
让我的桌子工作:
strFmt('%1 = %2 \r\n', dictField.label(), value);