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

kin*_*a94 2 enums axapta

我想输入基本枚举的代号而不是值或标签。通过此代码,我得到的标签不是名称:

info(enum2str(KPAssetGroup::PWNiP));
Run Code Online (Sandbox Code Playgroud)

Jon*_*tti 5

您可以按如下方式执行此操作。

1 - 声明一个EnumId变量。

2 - 声明一个dictEnum变量。

3 - 声明一个int变量。

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

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

代码示例:

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   
}
Run Code Online (Sandbox Code Playgroud)


小智 5

只需使用 enum2Symbol()

例如:

enum2Symbol(enumNum(KPAssetGroup), KPAssetGroup::PWNiP);
Run Code Online (Sandbox Code Playgroud)