查看: 4178|回复: 9

请问下3级组织架构如何代码取出第二级的组织信息

升级   39.33%

11

主题

33

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2022-7-27 13:44:31 | 显示全部楼层 |阅读模式
举例:
第一级:公司名 类别:company    职位:董事长
第二级:部门名 类别:department  职位:部门经理
第三级:团队名 类别:team     职位:部门主管


      流程上分为主管审批,经理审批等;成员在第三级,主管审批的时候流程可以流到主管那(因为拟稿人所在团队有职位部门主管),但是到经理审批的时候,审批人就变成了拟稿人,可能是因为在第三级找不到部门经理这个职位,因为部门经理在第二级。
      尝试了这里修改代码始终无法读取到第二级的职位,用[size=1em]creatorCompany[size=1em]可以读到第一级,用[size=1em]creatorDepartment[size=1em]却读不到第二级,现在用代码只能读到第一级和拟稿人和所在级。。中间的级别职位读不出来,请问有什么办法吗。这个也用过[size=1em]creatorUnitLevelName,[size=1em]能取出当前所在层级列表,但是只是列出来,并不能读到第二级的职位。


本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

138

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37064
发表于 2022-7-27 15:49:30 | 显示全部楼层
首先这里不建议您直接使用职务配置,职务配置前提必须职务名称是固定的,您这里是不固定的,所以建议您使用脚本去做
获取职务:var identityList = this.org.getDuty( dutyName, unit )
获取上级部门:var unitList = this.org.listSupUnit( name, true );

详情您可以参考一下api
回复

使用道具 举报

升级   39.33%

11

主题

33

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2022-7-27 16:45:49 | 显示全部楼层
论坛管理员 发表于 2022-7-27 15:49
首先这里不建议您直接使用职务配置,职务配置前提必须职务名称是固定的,您这里是不固定的,所以建议您使用 ...

额我的职务名称是固定的,只是有些职务仅在有些级别有,比如部门经理就只有第二级有,第三级就没有部门经理,但是第三级有部门主管。
直接用职务配置是为了不想让拟稿人提交的时候还得选择审批人,想直接送到对应节点自动给审批人。

然后现在遇到的就是上一级的职位无法自动识别。

获取职务:var identityList = this.org.getDuty( dutyName, unit )
获取上级部门:var unitList = this.org.listSupUnit( name, true );

这两个api也看了,但是没太搞懂,能举个例子不?
比如  var unitList = this.org.listSupUnit( name, true );
         return unitList;
       这时候是返回数组已一串数据是吧,这个数据如何显示出来呢,放在文本或者文本字段似乎都显示不出来,放在添加职务参数似乎也没啥用。

      
回复

使用道具 举报

升级   100%

138

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37064
发表于 2022-7-28 09:34:45 | 显示全部楼层
管理员指的您的职务名称不固定是指二级和三级部门的职务名称不同,所以您可以使用脚本来做
var unitList = this.org.listSupUnit( name, true );
         return unitList;
这个返回的是上级部门,如果您当前是三级主管,就需要二级经理审核,您就可以使用这个方法,获取到它的上级部门,这里返回回来时一级和二级,您可以debugger看一下,就知道格式了
回复

使用道具 举报

升级   39.33%

11

主题

33

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2022-7-28 10:47:04 | 显示全部楼层
论坛管理员 发表于 2022-7-28 09:34
管理员指的您的职务名称不固定是指二级和三级部门的职务名称不同,所以您可以使用脚本来做
var unitList =  ...

debugger 是通过浏览器自带的控制台执行还是在选择处理人的脚本输入框中 执行呢?
在浏览器中执行 并不 识别org 属性,在选择处理人的脚本输入框中输入,并没有触发debugger,console 也没有打印。
另外我想请问一下,在为流程制定下一步审批人员的时候,返回的是对象 还是某一个具体的属性。
如我上面的表示,我调用几个 listSupUnit api 时,我需要二级经理审核 unitList 返回的列表是否包含 二级和一级人员信息,在具体流程里我 需要返回的是 二级对象 还是二级对象里面的某一个属性呢?
回复

使用道具 举报

升级   39.33%

11

主题

33

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2022-7-28 11:19:31 | 显示全部楼层
论坛管理员 发表于 2022-7-28 09:34
管理员指的您的职务名称不固定是指二级和三级部门的职务名称不同,所以您可以使用脚本来做
var unitList =  ...

搞定了,谢谢,试出来怎么用了
回复

使用道具 举报

升级   100%

138

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37064
发表于 2022-7-29 09:46:01 | 显示全部楼层
回复

使用道具 举报

升级   1.33%

22

主题

49

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
发表于 2022-8-2 16:30:27 | 显示全部楼层
orange 发表于 2022-7-28 11:19
搞定了,谢谢,试出来怎么用了

你好,我想咨询下这个是怎么实现的?是在处理人的脚本里面编写嘛?还是职务选择后在给职务添加参数里面编写?
回复

使用道具 举报

升级   39.33%

11

主题

33

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2022-8-4 10:25:45 | 显示全部楼层
游荡一下1 发表于 2022-8-2 16:30
你好,我想咨询下这个是怎么实现的?是在处理人的脚本里面编写嘛?还是职务选择后在给职务添加参数里面编 ...

选中职务后添加脚本

var dangqianBM = this.workContext.getWork().creatorUnitDn || this.workContext.getWork().creatorUnit;
var shangjiBM =  this.org.listSupUnit(dangqianBM, false );
return shangjiBM[0].name;




回复

使用道具 举报

升级   31%

21

主题

43

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
发表于 2023-12-17 22:35:47 | 显示全部楼层
orange 发表于 2022-8-4 10:25
选中职务后添加脚本

var dangqianBM = this.workContext.getWork().creatorUnitDn || this.workContext. ...

选职务需要选组织,不选职务不行吗
回复

使用道具 举报

发表回复

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

本版积分规则

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