首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用另一个变量的值在Appian中构建一个(进程)变量?

使用另一个变量的值在Appian中构建一个(进程)变量?
EN

Stack Overflow用户
提问于 2021-04-23 08:10:17
回答 1查看 306关注 0票数 0

据我所知,在Appian中不可能动态地构造(进程)变量名,就像使用bash使用MY_OBJECT=pv!MY_CONS_`extract(valueOfPulldown)`这样的backticks那样。对吗?有解决办法吗?

我有一组Appian常数,我们称它们为MY_CONS_FOOMY_CONS_BARMY_CONS_LALA,所有这些都是指Appian数据存储实体。我想编写一个Appian表达式规则,它填充相同类型的另一个变量MY_OBJECT (这里是:数据存储实体),这取决于下拉菜单的选项,该选项将可能的选项存储在数组MY_CONS_OPTIONS中,如下所示

代码语言:javascript
复制
FOO
BAR
LALA

当然,我可以构建一个冗长的案例结构,除了MY_CONS_OPTIONS之外,我还必须维护它,所以我正在寻找一种更动态的方法,使用extract()函数依赖于valueOfPulldown作为下拉菜单的选择值。

编辑:这里的表达式规则(在伪代码中)是我想要避免的:

代码语言:javascript
复制
if (valueOfPulldown = 'FOO') then MY_OBJECT=pv!MY_CONS_FOO
if (valueOfPulldown = 'BAR') then MY_OBJECT=pv!MY_CONS_BAR
if (valueOfPulldown = 'LALA') then MY_OBJECT=pv!MY_CONS_LALA

目标是能够通过下拉菜单更改数据存储实体。

EN

回答 1

Stack Overflow用户

发布于 2021-09-22 21:13:59

这可以帮助你找到你的常数背后的东西。

fn!typeName(fn!typeOf(cons!YOUR_CONSTANT))

考虑到更多的细节,我将做以下的工作:

  1. 创建单独的表达式,将详细信息合并到字典列表中,如下所示:

表达式结果(er):

代码语言:javascript
复制
   {
      {dd_label: "label1", dd_value: 1, cons: "cons!YOUR_CONSTANT1" }
      ,{dd_label: "label2", dd_value: 2, cons: "cons!YOUR_CONSTANT2" }
    }
  1. 在下拉控件的UI中,使用er.dd_label作为choiceLabels,使用er.dd_value作为choiceValues
  2. 当用户选择下拉列表中的值时,将下拉值保存为某个局部变量,然后使用它查找您的const:

property( index(er, wherecontains(local!dropdownselectedvalue, tointeger(er.dd_value))), "cons")

  1. 步骤3的返回值是您的常量。

这可能并不完美,因为您仍然需要维护您的字典,但是您可以避免冗长的if...else语句。

作为另一种选择,请查看Appian Decisions.html中的决策表

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67226291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档