如何在Dynamics AX中获取基本枚举名称?

4
我想获取基本枚举的代码名称,而不是值或标签。 使用这段代码,我得到的是标签而不是名称。
info(enum2str(AssetGroup::AssetGroup1));

2
请查看以下链接:http://arsalanax.blogspot.com/2012/02/get-values-of-base-enums-using-code-in.html 和 http://bmdax.blogspot.com/2010/08/outputting-name-of-enum-element-instead.html。 - Pradeep Muttikulangara Vasu
谢谢!http://bmdax.blogspot.com/2010/08/outputting-name-of-enum-element-instead.html 对我很有帮助 :) - kinga94
2个回答

11

只需使用enum2Symbol()

例如:

enum2Symbol(enumNum(KPAssetGroup), KPAssetGroup::PWNiP);

5
您可以按照以下步骤进行操作:
1 - 声明一个 EnumId 变量。
2 - 声明一个 dictEnum 变量。
3 - 声明一个 int 变量。
4 - 使用 dictEnumindex2Symbol 方法获取基础枚举的代码名称。 可选项 - 使用 dictEnumindex2Label 方法获取基础枚举的标签。 示例代码:
static void StackOverflow(Args _args)
{    
    EnumId   Id        = enumNum(SalesType);
    DictEnum dictEnum  = new DictEnum(Id);
    int      EnumValue = enum2Int(SalesType::Journal); //Replace Base enum for Your Base Enum.

    info(dictEnum.index2Symbol(EnumValue));  
    //info(dictEnum.index2Label(EnumValue)); //Optional only reference   
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接