任务处理控件负责定位工作流任务、展示允许的操作,并在用户确认后办理。业务表单数据和任务结果需要分别配置保存与传递。
从待办进入人工任务处理页时,推荐在工作流传 task = acp$task_id,在 UX 任务处理控件中将“任务实例 ID”设置为 $urlQuery.task。
这是定位某一条任务最直接的方式。多人任务会生成多条任务实例,处理人应办理自己的任务。
控件支持在没有查询结果时继续查询,但需要 开启相应后备查询开关,并选择以下一种方式:
基于流程实例查询:提供流程实例 ID,例如 $urlQuery.proc。
基于业务键查询:选择工作流元素,并提供与该流程业务键规则一致的值。
仅填入流程实例 ID,不代表已自动开启后备查询。查询到多条任务时,确认当前选中的任务,再执行操作;还需关注“展示已完成/已终止任务”和“只展示当前用户任务”的实际配置及版本支持情况。
任务处理按钮由工作流任务动作配置、任务状态和用户身份共同决定。UX 中放置控件,并不会自动增加“同意”“驳回”“转派”等所有操作。
按钮缺失时,先确认打开的是目标任务,任务仍可处理,当前用户属于正确的处理人或候选人,再检查节点动作及条件。认领、转派、加签等操作应按任务规则进行,不能通过改页面参数获得办理权限。
示例:审批人填写核准金额 approved_amount,完成任务后让后续节点使用。
在工作流创建全局变量 approved_amount,类型使用金额所需的数字类型。
在 UX“任务处理”控件中,找到“完成任务所需参数”。
添加参数名 approved_amount,值选择当前页面上核准金额的实际值。
在工作流当前人工任务的数据映射中,目标选择全局变量 approved_amount,来源表达式填 acr$extra_res.approved_amount。
后续节点读取 wfv$approved_amount。
这条链路是:页面值 → 完成任务参数 approved_amount → 当前任务 acr$extra_res.approved_amount → 全局变量 wfv$approved_amount。
参数名只写 approved_amount,不要在 UX 参数名中加入 acr$extra_res. 前缀。后者是工作流读取结果时使用的变量路径。
待补截图 UX-05:左侧为 UX 的完成任务参数,右侧为人工任务的数据映射,标注相同的 approved_amount。
工作流配置的任务动作结果通过 acr$outcome 使用;“完成任务所需参数”通过 acr$extra_res 使用。它们有不同用途:前者表达任务选择的结果,后者携带页面补充的数据。
单人任务可将结果映射到全局变量,供后续网关判断。多人任务还要区分每个人的结果与整个多人节点的汇总结果 macr$outcome,按 多人任务 的完成规则配置。
多人同时处理时,不宜让所有人无条件覆盖同一个全局金额或意见变量;应按业务明确保留单人记录还是使用汇总结果。
任务处理提供“完成任务前”和“完成任务后”事件。需要保存业务数据时,可在完成前安排校验和保存,并确保失败会停止后续办理;完成后可刷新业务数据和页面状态。
回传参数应在用户确认完成前就已具备正确值。 当前处理链路会在调用“完成任务前”事件之前计算完成任务参数。不要依赖该事件中刚生成的新主键、刚修改的变量或保存返回值,自动成为这次回传值;这类数据应先保存并更新页面,再让用户完成任务。
业务保存和任务办理是两个操作。保存成功后任务办理仍可能失败,反之也需要检查事件配置。不能把“业务保存成功”提示当作“工作流任务已完成”。
用测试任务输入核准金额,执行配置的完成动作,然后检查:业务数据已保存;原任务不再可办理;流程到达预期节点;全局变量 approved_amount 为正确数字。
再验证必填项缺失或保存失败时,任务仍保持未完成。出现回传空值时,依次检查页面取值、UX 参数名、当前节点结果和数据映射,见 常见问题与排查。
回到顶部
咨询热线
