GETENUMVALUEBYNAME ER 函数

GETENUMVALUEBYNAME 函数通过使用指定为字符串值的枚举名称在指定的枚举数据源中搜索特定的枚举值。 如果找到枚举值,函数将返回此值。 否则,此函数将返回枚举值。

语法

GETENUMVALUEBYNAME (enumeration data source path, enumeration value text)

参数

enumeration data source path枚举

下列枚举类型之一的数据源的有效路径:

  • 电子申报 (ER) 模型枚举
  • ER 格式枚举
  • Microsoft Dynamics 365 Finance 枚举

enumeration value text字符串

代表单个枚举值的名称的字符串值。

返回值

可空枚举

生成的枚举值。

使用说明

如果使用指定为字符串值的枚举值的名称未找到枚举值,不会引发异常。

示例 1

在下图中,数据模型中引入了 ReportDirection 枚举。 请注意,为枚举值定义标签。

数据模型枚举的可用值。

下图显示以下详细信息:

  • $Direction 数据源在 ER 报表中配置。 此数据源是根据 ReportDirection 模型枚举配置的。
  • $IsArrivals 表达式设计为将基于模型枚举的 $Direction 数据源用作此函数的参数。
  • 此比较表达式的值为 TRUE

数据模型枚举的示例。

示例 2

GETENUMVALUEBYNAMELISTOFFIELDS 函数可让您作为文本值提取支持的枚举的值和标签。 (支持的枚举有应用程序枚举、数据模型枚举和格式枚举。)

在下图中,模型映射中引入了 TransType 数据源。 此数据源引用 LedgerTransType 应用程序枚举。

引用应用程序枚举的模型映射的数据源。

下图显示了在模型映射中配置的 TransTypeList 数据源。 此数据源是根据 TransType 应用程序枚举配置的。 LISTOFFIELDS 函数用于将所有枚举值作为包含字段的记录列表返回。 这样,每个枚举值的详细信息都将公开。

注释

将使用 GETENUMVALUEBYNAME(TransType, TransTypeList.Name) 表达式为 TransTypeList 数据源配置 EnumValue 字段。 此字段为此列表中的每个记录返回枚举值。

作为记录列表返回选定枚举的所有枚举值的模型映射的数据源。

下图显示了在模型映射中配置的 VendTrans 数据源。 此数据源从 VendTrans 应用程序表返回供应商交易记录。 每个交易记录的分类帐类型由 TransType 字段的值定义。

注释

将使用 FIRSTORNULL(WHERE(TransTypeList, TransTypeList.EnumValue = @.TransType)).Label 表达式为 VendTrans 数据源配置 TransTypeTitle 字段。 此字段以文本形式返回当前交易记录的枚举值的标签(如果此枚举值可用)。 否则,将返回一个空字符串值。

TransTypeTitle 字段将绑定到数据模型的 LedgerType 字段,让此信息可以在使用该数据模型作为数据源的每个 ER 格式中使用。

返回供应商交易的模型映射的数据源。

下图显示了如何使用数据源调试器测试配置的模型映射。

使用数据源调试器测试配置的模型映射。

数据模型的 LedgerType 字段预期将公开交易记录类型的标签。

如果您计划将这种方法用于大量交易记录数据,则必须考虑执行性能。 有关详细信息,请参阅跟踪 ER 格式的执行以解决性能问题

其他资源

文本函数

跟踪电子申报格式的执行以解决性能问题

LISTOFFIELDS ER 函数

FIRSTORNULL ER 函数

WHERE ER 函数