Alfresco Activiti工作流报错:bpm_assignees未定义求助
排查Activiti报错
ReferenceError: "bpm_assignees" is not defined的思路 这种情况我之前在Alfresco集成Activiti的项目里碰到过好几次——哪怕你明确只用了bpm_group_assignee,也会出现这个找不到bpm_assignees的错误,核心原因几乎都是流程里存在你没注意到的隐式引用,给你几个具体排查方向:
- 检查流程定义里的监听器脚本:打开你的BPMN文件,全局搜索
<taskListener>、<scriptTask>或者<executionListener>标签,看看有没有内置的Alfresco脚本(比如任务分配相关的默认脚本)在尝试读取bpm_assignees。有些Alfresco自带的监听器逻辑会同时检查用户assignee和组assignee变量,哪怕你只配置了组。 - 排查表单配置文件:如果你用了Alfresco的任务表单(比如FTL模板或者表单模型),有没有不小心引入了默认的
bpm_assignees字段?很多默认表单模板会包含这个字段的渲染逻辑,哪怕你没在流程里用到,渲染时也会触发变量读取错误。 - 临时绕过验证根源:如果一时找不到引用位置,可以在流程启动的脚本里手动添加一行:
bpm_assignees = [];,给这个变量设一个空数组值。如果错误消失了,就说明确实是某个隐式逻辑在依赖这个变量,再顺着这个方向找具体的引用点。 - 检查BPMN的扩展属性:有没有误加了Activiti的扩展配置,比如
activiti:assignee="${bpm_assignees}"?有时候复制粘贴通用流程模板时,会残留这些多余的配置项。
另外补充个小细节:Alfresco的Activiti集成里,部分版本的任务分配逻辑会默认尝试从bpm_assignees获取用户列表,再结合bpm_group_assignee处理,哪怕你只配置了组,也需要这个变量存在(哪怕是空的)。
内容的提问来源于stack exchange,提问作者José Manuel Déniz Rivero
相关产品推荐
相关产品推荐

