我想询问是否可以通过该字段的labelId找到特定表的fieldId。
先谢谢
答案 0 :(得分:3)
使用交叉参考。通过界面:
答案 1 :(得分:2)
可能的解决方案之一:
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()
。