阅读:7882
回复:7
|
[方案文档]【官方发布】H3 BPM 常用函数手册
猛戳立即下载>> 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(方法参数,多个之间用“,”隔开) 函数说明:执行业务服务方法,获取返回值。 |
|
3楼#
发布于:2017-03-01 11:21
干货,顶一个,
|
|
|
5楼#
发布于:2017-03-29 09:11
BPM0942052043:干货,回到原帖有眼光 |
|
|