全部文档
文档中心工作流进阶与配置参考表达式

表达式

表达式用于从变量取值、做计算或判断条件,例如拼接流程名称、选择处理人、把节点输出映射到全局变量。

1706002583708-e204cdb7-31cb-46fe-8924-3b4ee28a7bf9

工作流中可使用当前配置项提供的 wfi$、wfv$、acp$ 等变量;UX 页面接收工作流传参时,先声明外部变量,再通过变量选择器或 $var.变量编码 取值。不能把 UX 的 $var.contract 直接填入工作流表达式;工作流应从自己的启动参数或变量中取值,再传给 UX。

需要跨两端传值时,先配置明确的输入与输出,见 工作流与 UX 配合使用。

能直接选变量时优先使用变量选择器;只有需要计算、拼接或转换时再写表达式。静态值、JS 表达式和展示名称中的变量插入是不同配置方式,不要混用语法。

展示名称需要动态内容时,使用编辑器提供的变量插入能力。旧截图可能出现 ${wfi!xxx} 等历史表示,不要据此手工改写当前编辑器保存的格式。

以下示例写在工作流的 JS 表达式区域,并使用相应作用域中已定义的变量。

读取合同编号:

Copy
wfi$contract_id

按金额判断:

Copy
wfi$amount > 10000

读取 UX 回传的核准金额:

Copy
acr$extra_res.approved_amount

给金额增加 100,并返回新金额:

Copy
var result = wfi$amount + 100;
result;

表达式结果必须符合目标字段的类型。条件需要布尔值,用户列表需要字符串数组,金额需要数字。

数组的 push() 返回新长度,不是数组本身。例如需要返回添加后的列表,应把列表作为最后一行:

Copy
var users = ['user_a'];
users.push('user_b');
users;

示例用户 ID 仅说明结构,正式配置须使用真实平台用户 ID。

为了兼容不同运行环境,优先使用基础 JavaScript 写法,如 var、普通函数、条件判断和常见数组操作。编辑器能输入某种新语法,不代表当前工作流引擎一定支持它;不要用浏览器执行结果代替流程运行验证。

遇到对象为空时先检查来源,再决定业务上如何处理。不要随意把空值改成 0 或空字符串,避免流程表面运行成功、实际数据却不符合业务。

先准备明确的输入与预期结果,在配置允许的表达式调试入口验证;再用测试流程检查真实运行结果,特别关注空值、数组、金额及不同节点时点。

复杂逻辑宜放入清晰的业务处理节点或 Python 脚本,表达式负责取值与必要计算。问题定位见 变量与数据映射 及 常见问题与排查。

回到顶部

咨询热线

400-821-9199