Axapta 通过labelid查找fieldId
我想问一下,是否可以通过字段的labelId找到特定表的fieldIdAxapta 通过labelid查找fieldId,axapta,x++,dynamics-ax-2012-r2,Axapta,X++,Dynamics Ax 2012 R2,我想问一下,是否可以通过字段的labelId找到特定表的fieldId 提前感谢可能的解决方案之一: static void FindTableFieldsByLabel(Args _args) { TableId tableId = tableNum(AccountingDistribution); str findLabel = literalStr('@SYS132687'); SysDictTable di
提前感谢可能的解决方案之一:
static void FindTableFieldsByLabel(Args _args)
{
TableId tableId = tableNum(AccountingDistribution);
str findLabel = literalStr('@SYS132687');
SysDictTable dictTable;
SysDictField dictField;
FieldId fieldId;
dictTable = new SysDictTable(tableId);
fieldId = dictTable.fieldNext(0);
while (fieldId)
{
dictField = dictTable.fieldObject(fieldId);
if (dictField.isSql() && !dictField.isSystem()
&& dictField.labelLabel() == findLabel)
{
info(strFmt('Field name: %1', dictField.name()));
}
fieldId = dictTable.fieldNext(fieldId);
}
info('Job completed');
}
如果要忽略在扩展数据类型而不是表字段上设置的标签,也可以使用dictField.labelDefined()。可能的解决方案之一:
static void FindTableFieldsByLabel(Args _args)
{
TableId tableId = tableNum(AccountingDistribution);
str findLabel = literalStr('@SYS132687');
SysDictTable dictTable;
SysDictField dictField;
FieldId fieldId;
dictTable = new SysDictTable(tableId);
fieldId = dictTable.fieldNext(0);
while (fieldId)
{
dictField = dictTable.fieldObject(fieldId);
if (dictField.isSql() && !dictField.isSystem()
&& dictField.labelLabel() == findLabel)
{
info(strFmt('Field name: %1', dictField.name()));
}
fieldId = dictTable.fieldNext(fieldId);
}
info('Job completed');
}
如果要忽略在扩展数据类型而不是表字段上设置的标签,也可以使用dictField.labelDefined()。使用交叉引用。通过接口:
查找内容字段中输入LabelID
所用的按钮
使用交叉引用。通过接口:
查找内容字段中输入LabelID
所用的按钮
这是否用于获取引用特定标签ID的所有字段(和表格)的列表?这是否用于获取引用特定标签ID的所有字段(和表格)的列表?如果标签直接用于表格字段,这是一种很好的方法(可能正是@Nikos Kou所需要的),而不是在扩展数据类型或表字段使用的枚举上。如果EDT、枚举、报表、窗体、confkey和其他AOT对象上使用标签,请参阅更多交叉引用。使用按钮
Add-ins\Cross-reference\Used by
继续探索deeperA的好方法,如果标签直接用于表字段(可能这正是@Nikos Kou需要的),而不是用于扩展数据类型或表字段使用的枚举。如果标签用于EDT、枚举、报表、表单,confkey和其他AOT对象。使用按钮Add-ins\Cross-reference\Used by
继续深入探索