UX 通过外部变量接收业务主键、任务 ID 和流程 ID。先在 UX 声明变量,再在工作流中为同名跳转参数赋值,页面通过【UX变量】取值。
处理人的任务入口:在单人任务或多人任务的待办设置中,配置待办跳转界面。这里有当前任务上下文,可以传 acp$task_id。
发起人的流程入口:在工作流全局配置的待办设置中配置,用于从“我发起的流程”等入口查看整个流程。这里应传 wfp$proc_id 及业务信息,不要假定存在某一条人工任务的 acp$task_id。
两个入口可以关联同一个 UX,但 UX 中的查询条件要覆盖对应场景。
打开业务处理页的“页面变量”面板,在页面变量区域新增以下三个变量,来源选择 外部,数据类型选择 string:
contract:接收合同主键,用于查询业务数据。
task:接收当前任务实例 ID,用于办理任务。
proc:接收当前流程实例 ID,用于查看流程记录和流程图。
这里的 contract、task、proc 都是变量编码。不要把 $var. 前缀写入变量编码,也不要选择“常规”来源后用固定值代替外部传参。旧版面板可能直接显示“外部”分组。
保存 UX,再回到工作流选择该页面。工作流可以读取已保存的外部变量清单,但加载了参数名称不等于已经赋值。新增变量后,重新加载跳转参数并检查已有值,避免漏配或覆盖原有映射。
选择人工任务节点,进入待办跳转界面设置并启用。
选择已保存的 UX 业务处理页。
为加载出的外部变量 contract 赋值,使用工作流表达式 wfi$contract_id。
为 task 赋值,使用 acp$task_id。
为 proc 赋值,使用 wfp$proc_id。
检查参数名与 UX 的变量编码一致,再保存工作流。
对应关系:工作流的参数名 task 对应 UX 外部变量 task,赋值 acp$task_id 表示传入当前任务 ID,UX 中选择【UX变量 → task】使用它。变量名可以自行确定,但两端必须一致。已有方案使用 task_id、proc_id 时可继续沿用,分别声明并选择同名外部变量。
可打开 合同审批 Demo 的工作流配置,在人工任务的待办跳转界面对照上述参数。
在需要取值的配置项旁打开赋值类型菜单,选择【UX变量】,再从下拉列表选择对应变量:
合同数据源的主键查询条件:选择 contract。
任务处理控件的“任务实例 ID”:选择 task。
流程记录、流程图的“流程实例 ID”:选择 proc。
以上都是直接取值,使用【UX变量】即可。输入控件的值选择【控件值】,常量选择【固定值】;只有计算或组合条件判断才使用【表达式】。工作流中的 wfi$contract_id、acp$task_id、wfp$proc_id 不能直接填到 UX 配置里。
声明外部变量只完成了接收端配置,不会自动绑定所有控件。每一处数据源查询条件、控件 ID 和动作参数都要选到正确变量。
完整配置可从 合同审批 Demo 的审批详情 UX 查看,包括外部变量、业务查询、任务处理和流程记录的取值。
在工作流全局配置的待办设置中,关联查看页,至少传入 contract = wfi$contract_id 和 proc = wfp$proc_id。
查看页同样声明外部变量 contract 和 proc,业务数据源选择【UX变量 → contract】,流程记录选择【UX变量 → proc】。与任务页复用同一 UX 时,查看入口不传 task,页面需允许该变量为空。
查看页可用业务表单和流程记录展示审批进度。如果还放置任务处理控件,需要按业务启用“基于流程实例查询”等后备方式;是否能操作仍取决于当前用户的任务身份与按钮规则。
外部变量统一承接跳转时传入的业务主键和实例 ID。页面拿到主键后,再通过数据源加载业务记录;声明变量不会自动取得某笔业务,也不会自动查询当前任务。
跳转场景下,参数仍通过页面链接传递。不要传递整份业务对象、附件内容或大数组。
不要使用 elementName、folderId、path、sign 等页面定位参数作为自定义业务参数名。
变量编码应唯一,并与工作流跳转参数保持大小写一致。
业务主键、流程 ID 和任务 ID 按字符串处理;数值计算或布尔判断需核对变量类型与实际传入值,不能按显示内容推断类型。
值包含 &、#、+、空格等字符时,应先测试实际链接是否被截断或改变。优先传不含这些字符的稳定主键;确需传递特殊文本时,由实施人员核对编码与解码,避免重复编码。
URL 中的值不能代替权限校验;能定位业务记录,不代表当前用户可以修改它。
页面能显示合同,任务处理却为空:检查 task 外部变量、工作流的 task = acp$task_id 赋值,以及控件是否选择【UX变量 → task】;需要后备查询时还要启用对应选项。
任务处理正常,合同表单为空:检查外部变量 contract 是否有值、业务数据源是否选择【UX变量 → contract】,以及当前用户是否有业务数据权限。
工作流参数列表中没有新增变量:先保存 UX,再重新加载跳转参数清单并逐项核对赋值。确认变量来源选择了“外部”,且两端引用的是同一个 UX 元素。
直接预览正常,从待办进入异常:检查任务实际链接的参数。预览中的固定测试值不等于真实任务传入值。
新配置已发布,旧待办仍不符合预期:核对流程实例版本和任务链接;用新发起的实例检查新配置,不假定既有任务链接会自动重建。
保存 UX,将工作流配置发布到测试环境的目标版本后,再从新发起实例的待办进入验证。只保存设计稿不会更新已发布的配置。
使用指定审批人的账号,从待办打开测试合同:业务编号正确;任务处理显示当前任务;流程记录和流程图指向同一流程实例。再从发起人的流程入口查看,确认即使没有 task 参数,也能正常显示业务和流程记录。
回到顶部
咨询热线
