流程流转设置即设置流程审批流,每个审批流可定义适用组织范围,流程入口条件。

1.如何设置流转

(1)流转设置-新建流转

新建流转相关参数说明:

参数说明
流转名称填写流转名称,自定义即可
类型分为主流转、子流转,一般都是用主流转,子流转用于多条分支并行的场景,参照wiki:11.多分支并行审批
权重发起流程时,会根据权限优先查找和判断该流程是否满足条件,数值越大,优先级越高,有值且仅当数值大于1时生效!
所属组织流转维护所属组织
流转审批人用于节点审批人离职时,任务自动转移给此处设置的人审批
是否发起人选择审批人开启后,在提交表单时由提单人选择设置了手动选择审批人节点的审批人

(2)勾选新建的流转设置适用范围:

适用范围:用于控制流程发起人能找到哪条流程发起,根据流程发起人所在组织权限控制。例如A单位员工只能找到适用范围是A单位及其上级所有单位的流程,按照从下往上最小原则查找,先找到符合条件的最小适用范围流程。

(3)点进新建的流转设置节点,新增或引入节点—— 点击右下角保存 ——列表勾选流转点击启用并发布。

(4)流程在已发布状态下支持修改流转,这样在修改过程中不影响客户正常提交流程。流转也不需要禁用,在启用状态下可直接编辑流转,新增删除或者修改私有节点的配置。(简单来说就是流程不需要取消发布,流转不需要禁用,如果需要编辑流转或者私有节点直接点击流转设置进行编辑即可,如果编辑完还是不确定可以先点保存,确定无误再点击右下角的发布,发布之后走的是流转的最新版本)

2.需要限制只能看到自己管理部门创建的流转

(1)流转设置-元数据配置-filters中配置过滤


配置如下:

{
    "filters": [{
        "label": "所属组织",
        "key": "owner_depart_id",
        "plan_exclude": true,
        "component": "hc-standard-tree-selector",
        "sequence": 5,
        "options": {
            "default": true,
            "selectorModel": "OrgDepartment",
            "required": false,
            "child_include": true,
            "filter_dict": {
                "org_type": [
                    10,
                    20
                ]
            },
            "extra_property": {
                "role": "sys-manager"
            }
        }
    }],
    "advance_query": {
        "default_meta_length": 3
    }
}

3.流程入口条件设置

3.1.功能背景

入口条件是流程的第二道关卡,第一关卡是适用范围。会根据提交人的适用范围选择合适的流程。然后再去读取入口条件是否满足

3.2.条件分类

根据一些入口信息来卡流程,是否满足条件。一般为以下几种~

提交人信息:根据提交人的基本信息来判断,设置条件;

单据信息:根据表单字段的值来判断,设置条件;

提交人部门/单位/岗位/任职信息:根据提交人所在的部门/单位/岗位、任职信息设置分支条件;

提交人考勤组织信息:根据提交人考勤档案对应的考勤组织信息设置分支条件;

表格信息(子模型):若在表单设置中,有设置表格的时候该功能才会出现,即可以根据设置的表格信息设置条件。注意:用表格信息判断时,默认是用表格的第一行数据判断;

注意

2.1在入口条件处配置不能使用wst 或者inst 取流程的信息,因为此时还在寻找流程定义并没有生成流程实例信息。所以你根本取不到。

详细表达式可以查看流程表达式配置:11 流程表达式

2.2当入口条件比较多且有很多并且、或者条件时,可以点击马上调整,对入口条件的关系进行调整

比如说上图,需要用括号把条件分隔开来,让条件符合入口判断逻辑,调整之后可以是 (1 AND 2) AND (3 OR 4 OR 5)

3.3.这里重点提供下云函数的配置方法

云函数:

class OtherExtendPlugin(object):
    """
    其他类别云函数
    """

    def execute(self, **kwargs):
        """
        正式执行方法
        """
        employee_id = kwargs.get('employee_id')
        return True

云函数根据流程表达式,拿到些基本信息后,对应二开进行逻辑处理。最后返回True或者False。True即可以满足入口条件、False为不满足




  • 无标签