magician 发表于 2023-2-8 00:26:36

多个条件,满足其中一个走相同选择路由,怎么通过脚本


通过拟稿人所在群组选择不同的路由,主管群组和无主管群组都由部门审批,只要满足其中一个就路由到部门审批,但是以下代码在实际流程中停留在了选择状态无法流转到下一个节点。是哪里配置出问题了么



var groupList = this.org.listGroupWithPerson(this.workContext.getWork().creatorPersonDn);
var newData = groupList[0].distinguishedName;
var newData = this.data.add("newData", groupList[0].distinguishedName);
var newData = String;
switch(newData){
    case "各部门主管@GeBuMenZhuGuan@G": true ;
    break;
    case "无主管员工@WuZhuGuanYuanGong@G": true;
    break
    default:
    false;
    break;
}



论坛管理员 发表于 2023-2-8 10:17:29

说明您这段脚本有问题,没流转下去
var groupList = this.org.listGroupWithPerson(this.workContext.getWork().creatorPersonDn);
var newData = groupList.distinguishedName;
var newData = this.data.add("newData", groupList.distinguishedName);
var newData = String;
switch(newData){
    case "各部门主管@GeBuMenZhuGuan@G": true ;
    break;
    case "无主管员工@WuZhuGuanYuanGong@G": true;
    break
    default:
    false;
    break;
}
首先您groupList获取的是拟稿人所在的群组,这是一个数组,您得循环去匹配是在各部门主管里,还是在无主管员工。您直接groupList,如果groupList里没有数据,那么这句就会报错的呀。
var groupList = this.org.listGroupWithPerson(this.workContext.getWork().creatorPersonDn);
return groupList.name=="各部门主管";
直接这么两句话就可以的

magician 发表于 2023-2-8 10:25:34

var groupList = this.org.listGroupWithPerson(this.workContext.getWork().creatorPersonDn);
return groupList.name=="各部门主管";
return groupList.name=="无主管员工";
这脚本中return 如果要实现部门主管和 和无主管员工两个群组都走这条路线 写两条return 就不行了

论坛管理员 发表于 2023-2-8 10:29:46

写两个return肯定不行啊,return groupList.name=="各部门主管" || groupList.name=="无主管员工";
页: [1]
查看完整版本: 多个条件,满足其中一个走相同选择路由,怎么通过脚本