Axapta 确定字段是否为系统字段
我想知道是否有一种聪明/快捷的方法来确定表中的字段是否由系统生成。我只有TableNum和FieldNum作为变量(没有硬编码,只有动态值),我希望能够编写类似这样的代码(伪代码): 而不是:Axapta 确定字段是否为系统字段,axapta,dynamics-ax-2009,x++,Axapta,Dynamics Ax 2009,X++,我想知道是否有一种聪明/快捷的方法来确定表中的字段是否由系统生成。我只有TableNum和FieldNum作为变量(没有硬编码,只有动态值),我希望能够编写类似这样的代码(伪代码): 而不是: //... str fieldName; //... ; //... fieldName = dictTable.fieldName(fieldId); if(fieldName == "modifiedDateTime" || fieldName == "DEL_ModifiedTime"
//...
str fieldName;
//...
;
//...
fieldName = dictTable.fieldName(fieldId);
if(fieldName == "modifiedDateTime"
|| fieldName == "DEL_ModifiedTime"
|| fieldName == "modifiedBy"
|| //etc...)
{
//...
这就是我要写的,如果没有办法做我想要的。希望有人能帮忙,不幸的是,我在文档中没有找到任何关于这方面的信息
干杯使用
isSysId
全局方法
例如,它用于全局::buf2buf
:
static void buf2Buf(Common _from, Common _to)
{
DictTable dictTable = new DictTable(_from.TableId);
fieldId fieldId = dictTable.fieldNext(0);
while (fieldId && ! isSysId(fieldId))
{
_to.(fieldId) = _from.(fieldId);
fieldId = dictTable.fieldNext(fieldId);
}
}
static void buf2Buf(Common _from, Common _to)
{
DictTable dictTable = new DictTable(_from.TableId);
fieldId fieldId = dictTable.fieldNext(0);
while (fieldId && ! isSysId(fieldId))
{
_to.(fieldId) = _from.(fieldId);
fieldId = dictTable.fieldNext(fieldId);
}
}