Filenet技术问询:如何在工作流启动步骤分配用户ID至工作组
在FileNet SecondWF启动步骤中读取逗号分隔用户ID并分配工作组的解决方案
嘿,我刚好处理过类似的FileNet工作流场景,启动步骤里其实完全可以实现这个需求,不用非得等到非启动步骤。核心就是把逗号分隔的字符串转成数组,再绑定到工作组属性上,给你两种靠谱的方案:
方案一:启动步骤内嵌脚本(推荐,灵活度高)
启动步骤虽然是触发工作流的入口,但照样能加自定义脚本逻辑,步骤如下:
- 打开SecondWF的启动步骤配置页,找到「脚本」标签(不同版本可能叫「自定义逻辑」)
- 用Javascript写三行核心逻辑就行:
- 先把文档里存的用户ID字符串读出来:
var userIdStr = document.getPropertyValue("你的用户ID属性名"); - 把字符串按逗号分割成数组,顺带清理下可能的空格:
var userIdArray = userIdStr.split(",").map(id => id.trim()); - 最后把数组赋值给工作流的工作组属性(比如默认的
Workgroup,或者你自定义的变量):workflow.setPropertyValue("目标工作组属性名", userIdArray);
- 先把文档里存的用户ID字符串读出来:
- 别忘了确认启动步骤已经关联了目标文档,不然读不到属性值哦,保存配置就行
方案二:属性映射+表达式语言(无代码方案)
如果不想写脚本,用FileNet自带的表达式映射也能搞定:
- 进入启动步骤的「属性映射」界面,找到要设置的工作组属性
- 映射来源选「表达式」,输入分割逻辑的表达式:
split(trim(document.你的用户ID属性名), ",")trim是用来清理字符串前后的空格,避免分割出空的用户ID
- 确认映射方向是「从文档到工作流」,保存配置就完成了
几个要注意的小细节
- 确保启动SecondWF的用户有读取目标文档属性的权限,不然会读不到值
- 如果你的用户ID里可能包含逗号这种特殊字符,得提前在firstWF里做转义处理,不然分割会出错
- 测试的时候可以先给文档设个测试值,比如
alice,bob,charlie,验证启动后工作组是不是正确分配了
内容的提问来源于stack exchange,提问作者tiktok
相关产品推荐
相关产品推荐

