查看: 4506|回复: 9

请问如何使得选择活动可以通过所选择的部门进行流转

升级   6.67%

4

主题

13

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2022-6-1 17:24:32 | 显示全部楼层 |阅读模式






如图所示,当流程走到选择活动时,无法根据所选择的部门进行流转。
尝试使用以下代码也没有解决:

var unit = this.workContext.getwork().creatorUnit;
if(unit.indexOf("数据库")>-1){
    return true;
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

138

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37064
发表于 2022-6-2 09:48:27 | 显示全部楼层
您脚本这里判断的是拟稿部门,不是选择的部门,您确定拟稿部门是数据库但是没走数据库该走的路由吗?
回复

使用道具 举报

升级   6.67%

4

主题

13

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2022-6-2 10:10:01 | 显示全部楼层
论坛管理员 发表于 2022-6-2 09:48
您脚本这里判断的是拟稿部门,不是选择的部门,您确定拟稿部门是数据库但是没走数据库该走的路由吗? ...

啊?这样嘛,我是小白。。。。。
那请问如何根据所选择的部门来判断该走那条路由呢?该如何写呢?
是下面这样嘛?
var falg = false;
var shPerson = this.data.sh;
var pickedDepartments = shPerson[0].pickedDepartments;

var unitList = this.org.getUnitByIdentity( pickedDepartments );  
var unitName = unitList.name;  
if(unitName.indexOf("数据库")>-1){
    falg = true;
}

return falg;
回复

使用道具 举报

升级   100%

3

主题

1473

帖子

4824

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4824
发表于 2022-6-6 10:14:19 | 显示全部楼层
BlueSky 发表于 2022-6-2 10:10
啊?这样嘛,我是小白。。。。。
那请问如何根据所选择的部门来判断该走那条路由呢?该如何写呢?
是下面 ...

如果直接选择的是部门,就是通过this.data.选择部门的字段的标识来进行判断,如果选择的是人员,是要通过接口去获取该人员所属的部门,然后再去进行判断。脚本您可以通过print去输出调试。
回复

使用道具 举报

升级   6.67%

4

主题

13

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2022-6-7 10:36:21 | 显示全部楼层
xadmin 发表于 2022-6-6 10:14
如果直接选择的是部门,就是通过this.data.选择部门的字段的标识来进行判断,如果选择的是人员,是要通过 ...

但是我要选择的部门在流程表单中不存在,这个该如何判断?
回复

使用道具 举报

升级   100%

3

主题

1473

帖子

4824

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4824
发表于 2022-6-7 10:40:52 | 显示全部楼层
BlueSky 发表于 2022-6-7 10:36
但是我要选择的部门在流程表单中不存在,这个该如何判断?

什么意思,不在流程表单中的话在哪里选择?路由上配置的吗?如果是路由上配置的选择项,那也是通过
this.data.选择项名称   可以获取到选择的值。
回复

使用道具 举报

升级   6.67%

4

主题

13

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2022-6-7 10:55:03 | 显示全部楼层
xadmin 发表于 2022-6-7 10:40
什么意思,不在流程表单中的话在哪里选择?路由上配置的吗?如果是路由上配置的选择项,那也是通过
thi ...

var falg = false;
var shPerson = this.data.sh;
var unitName = unitList.name;  
if(unitName.indexOf("数据库")>-1){
    return true;
}

请问是这样写吗

return falg;


回复

使用道具 举报

升级   100%

3

主题

1473

帖子

4824

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4824
发表于 2022-6-8 10:02:43 | 显示全部楼层
BlueSky 发表于 2022-6-7 10:55
var falg = false;
var shPerson = this.data.sh;
var unitName = unitList.name;  

逻辑没有什么错误,但是具体取值对不对,需要您自己调试,这里用print输出调试即可,可以在日志查看器中查看print输出。
回复

使用道具 举报

升级   6.67%

4

主题

13

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2022-6-8 10:11:11 | 显示全部楼层
xadmin 发表于 2022-6-8 10:02
逻辑没有什么错误,但是具体取值对不对,需要您自己调试,这里用print输出调试即可,可以在日志查看器中 ...

print(“”)是直接用在日志查看界面吗?这个用了无法识别。
用在流程条件界面不出来
回复

使用道具 举报

升级   6.67%

4

主题

13

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2022-6-9 10:28:14 | 显示全部楼层
解决了,代码如下:
var falg = false;
var shsectionBy = this.data.sh;
var distinguishedName = shsectionBy[0].distinguishedName;

var unitList = this.org.getUnit( distinguishedName );
var unitName = unitList.name;
if(unitName.indexOf("数据库")>-1){
    falg = true;
}

return falg;
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread