跳到主要内容

参与者函数说明

基础说明

利用参与者函数根据组织岗位关系查找相关审批人,需要完善组织机构的相关类型,涉及以下内容

设置OU的组织类型

[进入后台]->[组织机构]->[组织类型]中,可添加组织类型

部门绑定组织类型

[进入后台]->[组织机构]->[组织成员]中,可绑定部门组织类型

编辑部门信息,组织类型选择对应的类型

添加组织岗位

[进入后台]->[组织机构]->[组织岗位]中,可添加组织岗位

添加组织岗位用户

[进入后台]->[组织机构]->[组织岗位]->[岗位管理]中,可添加组织岗位用户

相关函数

测试数据

初始化以下数据

  • 部门组织岗位中添加 WM 管理 开发部

  • 科室组织岗位中添加 renshi 管理 人事科,xingzheng 管理 行政科

GetDept

函数示例:GetDept("人员_Id", "bu") 函数说明:查询指定人员的部门信息。示例: 查找组织类型 仅适用于人员(部门)控件的"计算规则"设置。 函数参数:

  • 参数1:指定人员;
  • 参数2:组织类型;

ManagerOf

函数示例:ManagerOf({Originator},参数2)

函数说明:查询指定人员User的上级,如果没有上级,找所在部门负责人。参数1:指定组织,写{Originator} 表示发起人参数2:层级(可选参数,整数类型,默认为0)

函数参数:

  • 参数1: 可以填写的类型为以下三类
    • 人员id
    • 部门id
    • 人员-Id或部门-Id字段
    • {Originator} 表示发起人
  • 参数2: 层级(可选参数,整数类型,默认为0)

FindPostByCode

函数示例:FindPostByCode({Originator},"manager","dept")

函数说明:查找发起者所属部门主管。从发起者所属OU开始向上递归查找,查找到第一个组织类型编码为dept的OU为止,例如部门A,然后查询组织岗位内设置的角色编码为manager的角色,并且管理范围是部门A的用户。此函数不支持跨部门查找

函数参数:

  • 参数1:参与人或者部门
  • 参数2:组织岗位code
  • 参数3:组织类型code。

此函数使用前需设置好组织岗位和组织类型。


ManagerOf和FindPostByCode函数的区别

这两个函数同为通过组织或人员寻找上级,但是使用场景有较大的区别ManagerOf依托于组织树,根据组织树向上寻找主管,比较适合组织结构不复杂、不同部门的上下级汇报关系较一致的公司当情况较为复杂时,就无法通过该函数寻找上级,可通过FindPostByCode函数寻找上级

FindPostByCodeALL

函数示例:FindPostByCodeALL({Originator},"manager","dept")

函数说明:查找发起者所属部门主管。从发起者所属OU开始向上递归查找,查找到第一个组织类型编码为dept的OU为止,例如部门A,然后查询组织岗位内设置的角色编码为manager的角色,并且管理范围是部门A的用户。此函数支持跨部门查找

函数参数:

  • 参数1:参与人或者部门
  • 参数2:组织岗位code
  • 参数3:组织类型code。

此函数使用前需设置好组织岗位和组织类型。

FindUserByCodeAndGroupName

函数示例:FindUserByCodeAndGroupName({Originator,"bu","groupname",false)`

函数说明:查找发起人所属部门(科室)下面指定名称的组的成员。

函数参数:

  • 参数1:发起人
  • 参数2:组织类型code、
  • 参数3:指定组的名称;科室没有找到“应急担当”需要向上级部门找“应急担当”
  • 参数4:默认值false.组没有找到时,是否需要向上级部门找。例如:没有找到”应急担当"组是,向上级部门继续找"应急担当'

FindPostByGroupName

函数示例:FindPostByGroupName("组名","组织岗位Code","组织类型Code")

函数说明:查找特定组成员的科长、系长。

函数参数:

  • 参数1:组名
  • 参数2:组织岗位Code
  • 参数3:组织类型Code

GetMembers

函数示例:GetMembers(U(unitid),true)

函数说明:指定部门(组)找人员

函数参数:

  • 参数1:部门/组
  • 参数2:是否递归。false 查当前部门/组人员;true查部门及子部门人员

场景示例

示例1

FindPostByCode({Originator},"kezhang","ke" )

参数1:选择系统数据创建人,如下图:

参数2:组织岗位code

参数3:组织类型code

使用产品科的cp001登录,发起流程,审批人为cpadmin

使用项目科的xm001登录,发起流程,审批人为xmadmin

找人逻辑如下:

根据发起人递归往上找到组织类型为ke的部门,如果发起人为cp001,则找到的部门为产品科

找到组织岗位code为kezhang的组织岗位中所有的用户数据

找到所有管理范围的部门为产品科的人做为审批人

示例2

FindPostByCode({Originator},"buzhang","bu" )

参数1:选择系统数据创建人

参数2:组织岗位code

参数3:组织类型code

使用产品科的cp001登录,发起流程,审批人为kfadmin

使用项目科的xm001登录,发起流程,审批人为kfadmin

如何使用ManagerOf函数找上级

如何根据不同成员寻找各自的上级