LISTOFFIELDS ER 函数
LISTOFFIELDS
函数返回一个记录列表值,此值基于指定的枚举或容器(记录)类型的参数的结构创建。
语法 1
LISTOFFIELDS (path)
语法 2
LISTOFFIELDS (path, language)
参数
path
:数据源引用
下列数据类型之一的数据源的有效引用路径:
- 模型枚举
- 格式枚举
- 应用程序枚举
- 容器(记录)
language
:字符串
表示语言代码的文本。
返回值
记录列表
生成的记录列表。
使用说明
创建的列表由具有以下字段的记录组成:
- 名称(字符串数据类型)
- 标签(字符串数据类型)
- 描述(字符串数据类型)
- IsTranslated(布尔值数据类型)
如果 path
参数引用容器(记录)类型的数据源,对于引用的容器记录的每个字段,都会向创建的列表中添加一条新记录。 对于创建的每个记录,名称字段将返回为其创建当前记录的引用容器记录的字段的名称。
如果 path
参数引用枚举类型之一的数据源,对于引用的枚举的每个枚举值,都会向创建的列表中添加一条新记录。 对于创建的每个记录,名称字段将返回为其创建当前记录的引用枚举的值,描述字段将返回该枚举的描述,标签字段将返回该枚举的标签。
在运行时,使用语法 1 时,标签和描述字段必须返回基于正在运行的电子申报 (ER) 格式的语言设置的值:
- 如果提供了所请求语言的标签和描述,标签和描述字段将返回基于该语言的值,IsTranslated 字段将返回 True。
- 如果未提供所请求语言的标签和描述,标签和描述字段将返回基于默认 EN-US 语言的值,IsTranslated 字段将返回 False。
在运行时,使用语法 2 时,标签和描述字段必须返回基于定义为被调用函数的第二个参数的语言的值:
- 如果提供了所请求语言的标签和描述,标签和描述字段将返回基于该语言的值,IsTranslated 字段将返回 True。
- 如果未提供所请求语言的标签和描述,标签和描述字段将返回基于 EN-US 语言的值,IsTranslated 字段将返回 False。
示例 1
在下图中,ER 数据模型中引入了枚举。
下图显示以下详细信息:
- 模型枚举作为数据源插入了报表中。
- ER 表达式将模型枚举用作
LISTOFFIELDS
函数的参数。 - 使用创建的 ER 表达式将记录列表类型的数据源插入了报表中。
以下示例显示绑定到使用 LISTOFFIELDS
函数创建的记录列表类型数据源的 ER 格式元素。
下图显示运行设计的格式的结果。
注释
根据父 FILE 和 FOLDER 格式元素的语言设置,在 ER 格式的输出中输入了经过翻译的标签和说明文本。
示例 2
使用计算字段数据源类型为 enumType 数据模型枚举配置 enumType_de 和 enumType_deCH 数据源:
- enumType_de =
LISTOFFIELDS (enumType, "de")
- enumType_deCH =
LISTOFFIELDS (enumType, "de-CH")
在此情况下,可使用以下表达式获取瑞士德语(如果该翻译可用)的枚举值标签。 如果瑞士德语翻译不可用,标签将为德语。
IF (NOT (enumType_deCH.IsTranslated), enumType_de.Label, enumType_deCH.Label)