问题描述
假设我有一个名为 myTask
的 Appian common data type (CDT),它包含多个字段 taskName
、taskQuarter
、taskYear
、taskId
保存在一个局部变量中(Interface),例如如下所示
+ data (List of dictionary)
+ (Dictionary)
- taskName: "Plant trees." (Text)
- taskQuarter: 1 (Number (Integer))
- taskYear: 2020 (Number (Integer))
- taskId: 0 (Number (Integer))
+ (Dictionary)
- taskName: "Cut leaves." (Text)
- taskQuarter: 2 (Number (Integer))
- taskYear: 2020 (Number (Integer))
- taskId: 1 (Number (Integer))
在(接口的)本地范围内,我想为所有名为 taskLongName
的记录添加一个字段,它是以下串联(伪代码):
taskLongName = taskName + " " + taskYear + " Q" + taskQuarter
请问我该怎么做?
解决方法
结果很简单:假设您定义了表达式规则 myGetAllTasks()
,您可以将字典的初始列表放入 local!allTasks
。接下来,我们使用 Appian's a!forEach()
函数:
a!localVariables(
local!allTasks: rule!myGetAllTasks().data,local!taskLongNames:
a!foreach(
items: local!allTasks,expression: concat(
fv!item.taskName," for ",fv!item.processYear," Q",fv!item.processQuarter
)
),... <-- Here comes the configuration (code) defining the actual interface
)