阅读:7882 回复:7
H3BPM
655

帖子

2504

跟帖

46410

积分

管理员
管理员
  • 社区居民

[方案文档]【官方发布】H3 BPM 常用函数手册

楼主#
更多 发布于:2017-02-27 10:14
猛戳立即下载>> H3 BPM 常用函数手册.docx

1 概述

在H3 BPM中,提供了一批内置的参与者函数,通过这些函数,在某些场景下,可以简单快速的配置选人规则。
 
2 参与者函数

2.1 根据负责范围查询角色

函数信息
名称:FindPostByCode
参数1:Unit(指定组织)
参数2:OrgPostCode(指定角色编码)
参数3:CategoryCode(指定组织类型编码)
函数说明:
递归查询组织Unit的上级组织,直至某个上级组织的组织类型为CategoryCode,如果不存在,则查询至组织树顶点。将此上级组织或顶点,记为组织A。
在组织Unit至组织A的链式组织结构中,查询角色OrgPostCode的成员集B。
查询成员集B中角色管理范围包含组织Unit的成员,将查询结果的成员集返回
函数场景举例:
财务部有三个出纳角色  分别负责  华南  华东  华北  大区。华北区下属的某个销售组的成员提交申请时,查询逻辑为此销售部向上查询部门直至组织类型为 大区 ,最终找到华北区 然后找到负责华北区的出纳
 
2.2 根据所在组织查询角色

函数:FindPostByCategoryCode
参数1:Unit(指定组织)
参数2:OrgPostCode(指定角色编码)
参数3:CategoryCode(指定组织类型编码)
函数说明:
递归查询组织Unit的上级组织,直至某个上级组织的组织类型为CategoryCode,如果不存在,则查询至组织树顶点。将此上级组织或顶点,记为组织A。
在以组织A为顶点的组织树结构中,查询角色OrgPostCode的成员集,将查询结果返回。
函数场景举例:
华东、华南、华北大区 分别都有自己的公文管理员,分别属于各大区下设的公文管理部,华东区下某开发小组的成员提交申请时,查询逻辑为 从此开发小组向上查找至组织类型为大区的组织,即华东区,然后向下查询,华东区及下属各个下级部门的成员,找到该区下的公文管理员。
 
2.3 根据组织类型查询组织某个层级的负责人

函数名:FindManagerByCategoryCode
参数1:Unit(指定组织)
参数2:CategoryCode(指定组织类型编码)
函数说明:
如果组织Unit的组织类型为CategoryCode,返回Unit的负责人;否则逐级查询Unit对应的上级组织,直至某个上级组织的组织类型为CategoryCode,返回这个组织的负责人;如果没有对应组织类型的组织,返回null
场景举例:
华东、华南、华北 三个大区,各区下的员工请假超过3天都需要区总进行审批。华东区下某销售部员工请3天假,查询逻辑为从该部门向上查询组织,直到查询到组织类型为“大区”的部门(华东区),然后查询该区的负责人
 
2.4 查询指定组织的成员

函数名:GetMembers
参数:Unit(指定组织)
函数说明:
查询参数组织的成员
 
2.5 判断子对象是否为父对象的子成员

函数名:IsMemberOf
参数1:Child(子成员对象,可以是OU/员工)
参数2:Parent(父组织对象,可以是组/OU)
函数说明:
判断子对象是否为父对象的子成员,通常与IFF函数结合使用。
场景举例:
如公司一般部门的汇报由副总进行审批,财务部的汇报由总经理审批
 
2.6 查询某部门负责人的指定级别的上级

函数名:ManagerByEmployeeRank
参数1:Unit(指定组织)
参数2:Level(指定级别)
函数说明:
查询组织Unit的负责人,再递归查询其上级,直至某个人的员工职级在Level之上(该员工的员工职级<= Level),返回该人。
PS:
员工职级有管理员用户在员工信息中进行设置,职级内容为数字,1为最高。函数执行是第一个被查询到的员工职级小于/等于level的员工将被返回
 
2.7 返回某组织指定层级的上级组织的负责人

函数名:ManagerByUnitLevel
参数1:Unit(指定组织)
参数2:Level(指定级别)
函数说明:
从组织Unit向上递归查询,直至某组织的组织层级小于等于Level,返回其负责人。
PS:组织层级由系统自动判断,公司顶点的组织层级为0,向下依次加1。
场景举例:华东区下属销售部门员工A申请请假,需要华东区负责人进行审批,查询逻辑为从员工A所在部门向上查询,直至组织类型为“大区”(华东区),查询该部门的负责人。
按照公司的组织结构,顶点部门level为0,向下依次递增。
 
2.8 查询指定人员的上级

函数名:ManagerOf
参数:User(指定人员)
函数说明:
查询指定人员User的上级,如果没有上级,找所在部门负责人

2.9 查询某部门的负责人

函数名:OUManagerOf
参数:Unit(指定组织)
函数说明:
查询组织Unit的负责人

2.10 查询某组织范围内某角色指定层级区间角色的成员

函数名:ParentPostByLevelRange
参数1:Unit(指定组织)
参数2:PostCode(角色编码)
参数3:StartLevel(起始角色层级)
参数4:EndLevel(截止角色层级)
参数5:CategoryCode(组织类型)
函数说明:
将组织Unit上级组织中第一个组织类型编码为CategoryCode的组织或顶点组织为顶点的树形组织结构,记为查询范围A。
递归查询角色PostCode的所有上级角色,获得角色层级在StartLevel和EndLevel区间内的角色集合,记为集合B。
在范围A中,查询所有集合B中角色的成员。
 

2.11 查询某角色上级角色的成员

函数名:ParentPostOf
参数1:Unit(指定组织)
参数2:PostCode(角色编码)
参数3:CategoryCode(组织类型编码)
函数说明:
查询角色PostCode的上级角色成员
查询范围为:组织Unit上级组织中第一个组织类型编码为CategoryCode的组织或顶点组织为顶点的树形组织结构
查询范围中中,角色PostCode的上级角色的成员

2.12 递归上级角色到指定级别


函数名:RecursivePostOf
参数1:Unit(指定组织)
参数2:PostCode(角色编码)
参数3:Interval(截止角色层级)
参数3:CategoryCode(组织类型编码)
函数说明:
递归上级角色到指定级别
查询范围为:组织Unit上级组织中第一个组织类型编码为CategoryCode的组织或顶点组织为顶点的树形组织结构

2.13 RecursiveManagersOf

函数名:RecursiveManagersOf
参数1:Unit(指定组织)
参数2:Level(指定员工级别)
函数说明:
获取指定用户递归上级经理到指定员工级别的经理的集合
PS:过时的方法,不推荐使用

2.14 获取指定用户的秘书

函数名:SecretaryOf
参数:User(指定用户)
函数说明:
获取用户User的秘书

2.15 调用业务服务中的方法

函数名:ExecuteBizService
参数1:ServiceName(业务服务方法的服务编码)
参数2:MethodName(业务方法名称)
参数3:Param(方法参数,多个之间用“,”隔开)
函数说明:执行业务服务方法,获取返回值。
10月签到活动奖励发放啦:http://bbs.h3bpm.com/read.php?tid=5377&fid=5
秦始皇
167

帖子

1099

跟帖

19415

积分

论坛版主
论坛版主
  • 社区居民
  • 忠实会员
1楼#
发布于:2017-02-27 14:51
mark。
echo
134

帖子

856

跟帖

2552

积分

钻石榴莲
钻石榴莲
  • 社区居民
2楼#
发布于:2017-02-27 15:30
干货呀
上善若水
17

帖子

1282

跟帖

12345

积分

管理员
管理员
  • 社区居民
3楼#
发布于:2017-03-01 11:21
干货,顶一个,
H3 BPM 让天下没有难用的流程。全国统一服务热线 :400-889-8625
BPM0942052043
32

帖子

85

跟帖

1335

积分

黄金榴莲
黄金榴莲
  • 社区居民
4楼#
发布于:2017-03-29 08:45
干货,
H3BPM
655

帖子

2504

跟帖

46410

积分

管理员
管理员
  • 社区居民
5楼#
发布于:2017-03-29 09:11
BPM0942052043:干货,回到原帖
有眼光
10月签到活动奖励发放啦:http://bbs.h3bpm.com/read.php?tid=5377&fid=5
martian
23

帖子

115

跟帖

1875

积分

黄金榴莲
黄金榴莲
  • 社区居民
6楼#
发布于:2017-06-28 20:26
如果想获取某个成员的mobile,能直接调用函数实现吗?
实名用户_91100f2c
0

帖子

2

跟帖

212

积分

初级榴莲
初级榴莲
7楼#
发布于:2018-02-27 15:10
干活,,,
游客

返回顶部