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

How to get base enum name in Dynamics AX?

我想获取基本枚举的代号,而不是值或标签。 使用此代码,我得到标签而不是名称:

info(enum2str(KPAssetGroup::PWNiP));

您可以按如下方式进行。

1 - 声明一个 EnumId 变量。

2 - 声明一个 dictEnum 变量。

3 - 声明一个 int 变量。

4 - 使用 dictEnumindex2Symbol 方法获取基本枚举的代号。

可选 - 使用 dictEnumindex2Label 方法获取基本枚举的标签。

代码示例:

static void Whosebug(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   
}

只需使用enum2Symbol()

例如:

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