流程设计

如何设计流程

设计完表单后,管理员要设计流程的走向,即文件的审批过程及每一步相应的处理人。

在审批王中,每个审批环节我们称为“节点”,节点与节点之间用连线进行串联。一个节点之后可以只有一个节点即只有一种后续的审批情况,也可以通过连线串联多个节点,即有多种的后续审批情况。后续的审批节点即可以由上一步人员在审批时指定也可以根据设置的判断条件系统自动判断。

流程设计

以创建一个“日常费用报销”流程为例,为您演示如何创建新流程。

具体步骤如下:

  1. 登入华炎云,进入“设置-审批-流程”,点击“流程设计器”;

    附流程设计

  2. 系统会弹出新窗口,在表单分类中选择某一类别的表单(也可直接点击“新增分类”来新建流程表单分类),再在该类别的在流程列表页中,单击选择已建立好的表单分类,如“财务 流程”,流程列表中会显示表单分类下对应的所有流程;点击右上角的新建流程,填写流程名称“日常费用报销”。

    附流程设计器

  3. 点击新建完成的流程,在流程界面中,选中“开始”,右侧的面板中有流程信息、画图、属性、权限三个选项。

    流程信息

    • 流程信息中可填写流程名称,如将流程命名为“日常费用报销”;
    • 设置流程权限:可设置流程的发起、查看、监控权限;
    • 画图中有审批、会签、填写、条件四个选项,可以添加流程的审批步骤(即节点),流程新建完成后,系统会默认生成开始和结束节点。
  4. 一个审批步骤对应“流程设计器”中的一个节点。可通过“画画”选中相应的节点类型拖到流程图上,然后将鼠标悬停在某个节点,点击“+”号,拖拽到另一个节点上,即可添加两个节点之间的连线。您也将鼠标放到线上点击“-”号,将连线删除。根据实际需求选择节点,用连线进行节点间的连接。 各个不同类型的节点可参考以下介绍:

    • “审批”类型的节点,处理人必须选择核准与驳回;
    • “填写”类型的节点,处理人可以填写意见或直接提交申请单到下一步处理人,但不能核准或驳回;
    • “会签”节点允许多人同时审批,即处理人可以是2个或2个以上的人,审批时必须选择核准或驳回。而“条件”类型节点,系统将会根据设置的条件自动选择下一步。
    • “会签”节点的驳回不同于审批节点的驳回,不能退回到任意一个已经流转过的步骤。当所有会签节点的处理人都审批完成后,不管是否其中有人进行了驳回都将根据流程设置进入到下一步骤,由下一步骤的人员来汇总处理意见,根据意见来选择后续节点。需要注意的是“会签”节点后面不允许再紧接着另一个“会签”节点。建议二者之间增加一个类似于“秘书汇总意见”的节点,指定好具体的某个人员,来综合第一个会签节点的意见,再来选择第二个会签节点的处理人员。
  5. 点击节点,右侧面板中会有流程信息、画图、属性、权限四个选项。

    • 属性:对每个节点进行细节设置,包含步骤名称、审批处理人、审批超时提醒、批量审批、审批条件判断等。如本案中,依次添加了名称为总经理审批、财务部审核、报销人提交纸质报销单至财务部、发放报销款、确认收款等节点。选择审批处理人。
    • 权限:可以单独设置各个审批节点表单字段的编辑权限,节点用户可编辑勾选字段。
    • “开始”步骤,默认所有字段都可以编辑(已定义了公式的字段除外);“非开始”步骤,默认所有字段都为只读。可按实际需要设置。
    • 批量审批,默认不勾选,“审批”、“会签”和“填写”节点都支持该属性,可按实际需要进行设置。注:后续是单一路径,并且指定了处理人,才支持批量审核。该功能只支持企业版并且@steedos/steedos-plugin-workflow@2.0.9以上版本支持。

    批量审批

  6. 保存流程,关闭返回流程列表界面,启用新建的流程,完成流程的新建。

    • 流程新增并设计后,需要启用才可以让用户提交申请。
    • 未启用的流程,用户将无法看见。
    • 在“流程设计器”下的“表单列表”中,点击启用状态后的开关,即可启用/停用表单。
    • 在表单列表的右侧,点击“X”按钮,可以删除表单及其下的所有流程,所以删除表单时,请谨慎操作。

条件节点

审批王里的条件节点的目标是智能选择审批路径。

如费用报销流程中,根据报销金额的不同,审批步骤/审批人也会有所不同,判断规则是报销金额是否大于10000,如果是的话,申请单提交给总经理审批后再交给财务经理,如果不是的话,申请单直接交给财务经理审批即可。

这里的“报销金额判断”就是一个典型的“条件”节点。条件公式为:{报销金额合计}>=10000 和 {报销金额合计}<10000,两个公式分别连线到“总经理审批”节点和“财务经理”审批节点。

这样,当用户提交申请单后,系统会根据本次申请的实际金额作判断,决定下一步执行“总经理审批”还是是“财务经理审批”。

条件节点注意事项

  • 所有的条件分支不能相互重叠。如上例,假设两个条件分支为“报销金额合计>=10000”和“报销金额合计<=10000”,则重叠了金额为10000的情况,如果“报销金额合计=10000”,则系统无法判断走分支1还是分支2。

  • 条件分支应能涵盖所有的情况。如上例,假设两个条件分支为“报销金额合计>10000”和“报销金额合计<10000”,则遗漏了金额为10000的情况,如果“报销金额合计=10000”,则系统也无法判断走分支1还是分支2。

设置上述条件节点的具体步骤如下:

  • 添加条件步骤。拖动属性面板画图设置的的“条件”至左侧界面。
  • 在条件节点的属性区域对条件步骤命名,这里将其命名为“报销金额合计是否大于10000”。
  • 左侧点击提交节点右上角的“+”,添加两根连线。
  • 编辑连线一的条件。左侧点击连线一,右侧的属性区域下,设置连线名称与连线条件。这里设置连线条件为“{报销金额合计}>=10000”。具体为什么要这么设置条件,请参考“流程条件的编写规则”。
  • 编辑另一条连线条件。设置连线条件为“{采购金额合计}<10000”。 具体为什么要这么设置条件,请参考“条件节点规则”。

流程分类

管理员可以在“流程分类”中可以修改流程类别的名称和顺序,这样新建流程的弹出框中的流程类别的名称和顺序会随之变化;

分类

在“设置”界面中,点击“审批”下的“流程分类”,来调整流程分类的显示顺序。排序号是按着从大到小的序号进行排序的,默认是空,也是最小的序号;

分类

流程导入导出

工作区管理员可以进行流程导入导出,流程一键导入导出功能可以帮助您快捷新增流程,节省大量时间。具体操作如下:

导入

  • 设置->业务流程->流程,
  • 进入流程导入导出界面,在右上角点击“导入流程”。
  • 在弹出的窗口中,点击“选择文件”按钮,选择您已经准备好的.json文件
  • 进入流程设计器,在相应的分类下(如果流程有所属分类,导入时在相同的分类下;如果没有分类,导入时就在“未分类”下)找到该流程。
  • 进入流程,确保每一步都有对应的处理人,修改之后(甚至是移动几根连线的位置)保存,然后打开流程即可。

导出

  • 设置->业务流程->流程,
  • 在流程列表点击在需要导出的流程后的“导出”按钮即可。即可导出流程.json文件。

批量导入导出

  • 设置->业务流程->流程,
  • 在流程列表中,勾选上待导出流程名前面的所有方框,若全部导出可勾选顶部全选,再点击右上角的“导出”按钮即可导出所有流程.json文件的压缩包,并进行解压缩。

批量导出

  • 进入新系统的流程导入导出界面,在右上角点击“导入流程”。
  • 在弹出的窗口中,点击“选择文件”按钮,打开解压缩的文件夹,选中第一个json文件并按住“Shift”键进行全选,打开并确认即完成批量导入。

批量导入

流程设置

表单字段

每一步的处理人对于表单内容都可以查看,但修改和填写的权限都是不同的,如发文流程,办公室编号步骤只能填写“发文编号”字段,但不能填写或修改其他字段,如此将步骤和字段编辑权限进行对应关系的设置需要管理员在后台进行操作。

字段填写权限设置

  • “开始”步骤默认对所有字段有编辑权限。
  • 选中流程步骤中的某个步骤,点击右侧面板中的“权限”,列出的是该申请单里的所有字段。
  • 允许本步骤处理人编辑的字段前打勾,那么文件流转到这一步的时候,处理人可以对表单的字段进行修改。如果没有勾选的话,处理人对表单内容只能看,不能改。

节点处理人

流程设置时,节点处理人可选择以下几种:

审批时指定人员

  • 设置时,不作其它指定。
  • 流转时,系统默认为空;由上一步人员选择这一步的处理人员。

指定人员

  • 设置时,指定一个或多个人员。
  • 流转时,系统以指定的一个或多个人员为可选项;由上一步人员选择其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。

指定审批岗位

  • 设置时,指定一个审批岗位。
  • 流转时,系统以“提交人”对应这个“审批岗位”的一个或多个人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。

申请人的上级

  • 设置时,不作其它指定。
  • 流转时,系统找到“提交人”对应的“直属上级”(仅一位)为可选项;因为只有一位,上一步人员无需选择这一步的处理人员。

申请人

  • 设置时,不作其它指定。
  • 流转时,系统找到“提交人”本人为可选项;因为只有一位,上一步人员无需选择这一步的处理人员。

指定部门

  • 设置时,指定一个或多个部门。
  • 流转时,系统以这个“部门”所辖的所有人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。

指定人员字段

  • 设置时,指定表单中的一个字段,这个字段填写的是用户的姓名。
  • 流转时,系统以申请单上的这个“字段”值(即某用户)为可选项;上一步人员无需选择这一步的处理人员。

指定部门字段

  • 设置时,指定表单中的一个字段,这个字段填写的是部门名称。
  • 流转时,系统以申请单上的这个“字段”的值即某部门所辖的所有人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。

指定人员字段相关审批岗位

  • 设置时,指定表单中的一个字段(这个字段填写的是用户的姓名)、一个审批岗位。
  • 流转时,系统以申请单上的这个“字段”值(即某用户)对应这个“审批岗位”的一个或多个人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。

指定部门字段相关审批岗位

  • 设置时,指定表单中的一个字段(这个字段填写的是部门名称)、一个审批岗位。
  • 流转时,系统以申请单上的这个“字段”值(即某部门)对应这个“审批岗位”的一个或多个人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。

流程权限设置

谁能新增申请单

您可以设置新建该申请单的权限。可以选择整个公司均有权限、也可以选择某个部门或者某些个人有权限提交本申请。如果没有权限的人员则在新增流程文件时就看不到此流程。

设置的方法有两种:

  • 打开流程设计器,在“开始”节点的“属性”中设置可以新建此表单的人员、部门。设置完成后只要当前用户在这个部门中或是此人员时,就可以提交这个流程申请单。

申请权限

  • 打开流程设计器,点击右侧“流程信息”,点击“设置流程权限”。系统显示当前的权限设置情况。如需修改,点击“授权部门”、“授权用户”,勾选相应的部门、用户即可。

申请权限

谁能查看所有的申请单

有些用户,虽然不一定参与申请单的审批过程,如某些业务的分管领导或总经理,但是需要随时查看某些流程的所有申请单。有时,我们将这样的权限称为“监控权限”。这个需求,可以通过如下设置来实现。

  • 打开流程设计器,点击右侧“流程信息”,点击“设置流程权限”。
  • 系统显示当前的权限设置情况。如需修改,点击“授权部门”、“授权用户”,勾选相应的部门、用户即可。

谁能删除所有的申请单

有些用户,虽然不一定参与申请单的审批过程,但是需要随时查看某些流程的所有申请单,并且需要在特定情况下,删除某些申请单。有时,我们将这样的权限称为“管理权限”。这个需求,可以通过如下设置来实现。

  • 打开流程设计器,点击右侧“流程信息”,点击“设置流程权限”。
  • 系统显示当前的权限设置情况。如需修改,点击“授权部门”、“授权用户”,勾选相应的部门、用户即可。

流程编号设置

目前系统可以实现根据流程相关名称(文本),或根据表单字段公式实现自动生成文件编号功能。

流程编号

具体编号设置规则如下:

  1. 打开流程设计器,在需要自动生成编号的字段配置好的公式:auto_number(预算外指标调整)。

    流程编号

  2. 进入“流程设置”,选择“流程编号”。

    流程编号

    点击进入到编号设置规则界面后,点击“新建”来新建流程编号规则。

    • 名称:即流程编号字段默认值auto_number方法中的名称,即“预算外指标调整”。
    • 年份:流程编号中涉及到年份需设置好编号开始年份。
    • 起始序号:流程编号中的开始的编号,默认为1。
    • 序号:流程当前在系统中待编号的序号,默认为0,调整默认值为1,新建流程单后该序号会实时变化。
    • 编号规则:需要配置好的公式会根据此规则格式来进行自动编号,建议开头加上字母或中文以区分不同的流程编号。

    流程编号

    以上图为例简要说明当前编号规则情况:

    • OB:代表该流程名的英文缩写off budget。
    • [{YYYY}]:代表自动生成的年份。即取值“年份”。
    • {NUMBER}:代表流程需要显示的编号,即取值“序号”。

    编号规则:OB[{YYYY}]{NUMBER} ,在表单上显示的编号样式为:OB[2020]6。

流程脚本

管理员在流程脚本中可以对该工作区中所有的流程进行配置“打印模板”、“表单模板”、“自定义脚本”、“字段关系”的脚本,以及“流程导出”,还可将其他的流程导入到该工作区.

具体的操作流程如下:

  • 在“设置”界面,点击“审批”下的“流程”,流程列表只显示流程状态为启用的流程;
  • 点击流程名称,就会弹出流程详情信息界面;点击“编辑”按钮即可对该流程添加流程脚本。

流程脚本

流程正文模板

管理员在流程详细界面可以上传名为 “正文.docx” 的文档作为申请单新建正文时的模板,如需使用此功能需要满足以下条件: 1、流程设计器中流程的步骤属性中需要勾选“修改正文”,如在开始节点想上传正文则在开始节点的属性中勾选“修改正文”; 2、在设置-流程进入流程的详细信息页面上传名为 “正文.docx” 的文档; 3、需要windows桌面客户端,在桌面客户端中新建申请单后即可看到正文新建按钮,点击“新建”按钮即可在“正文.docx”的基础上在线编辑正文内容。

流程附件模板

管理员在流程详细界面可以上传文档作为申请单上传附件时的模板,在新建申请单后会在附件上传按钮旁显示‘模板’按钮,点击按钮即可下载附件模板,本地编辑后即可上传。

条件节点规则

  • 条件中引用字段需使用字段名+{},如:{请假天数};
  • 条件中使用的符号必须是半角符号;
  • 条件中嵌套条件时,用();
  • 条件中可以使用公式和函数。

条件中的判断项目

  • 数值类型常量:直接使用数值,如:1000

  • 字符类型常量:使用“"”(注意是半角)将字符串扩起来,如:"北京"

  • 表单字段变量:使用“{”和“}” (注意都是半角)将字段名扩起来,如:{请假天数}

  • 基于提交人的系统变量:包括姓名、角色、部门等

  • 提交人的所在部门(全路径): {applicant.organization.fullname}

  • 提交人的所在部门(最底层部门名): {applicant.organization.name}

  • 提交人的角色名: {applicant.roles}

  • 提交人的姓名:{applicant.name}

  • 基于姓名表单字段的系统变量:包括姓名、角色、部门等

    • “报销人”的所在部门(全路径): {报销人}.organization.fullname
    • “报销人”的所在部门(最底层部门名): {报销人}.organization.name
    • “报销人”的角色名: {报销人}.roles
    • “报销人”的姓名: {报销人}.name
  • 基于数值字段的函数:

    • 加:{字段名1}+{字段名2}
    • 减:{字段名1}-{字段名2}
    • 乘:{单价}*{数量}
    • 除:{总金额}/{数量}
  • 基于表格(子表)中的数值字段的函数:

    • 合计:sum({费用})
    • 平均值:average({费用})
    • 计数:count({物品})
    • 最大值:max({费用})
    • 最小值:min({费用})
  • 统计多选项中有几项被选中了:length({交通工具})

  • 数值类型的判断,允许使用以下符号:

    • 等于,如:{借款金额}=1000
    • 大于,如:{借款金额}>1000
    • 小于,如:{借款金额}<1000
    • 大于等于,如:sum({报销费用合计})>=1000
    • 小于等于,如:max({单笔费用金额})<=1000
    • !等于,如:sum({借款金额})!=1000
    • 不等于,如:sum({借款金额})< >1000
  • 字符类型的判断,允许使用以下符号/函数:

    =:是,如:{项目}="北京"

    !=:非,如:{项目}!="北京"

    .contains():包含,如:.contains({applicant.roles},'部门经理') 提交人是部门经理。请注意:由于一个人可能承担了多个审批岗位,所以应该用_.contains(包含)来判断,而不能用“=”。

  • 一个条件判断如果不够,可以多个条件判断组合使用。允许组合关系包括:

    • ||:或,如:{借款金额}<1000 ||{项目}="北京"
    • &&: 与,如:{借款金额}<1000 &&{项目}="北京"
    • !: 非,如:!({借款金额}<1000)

条件判断的实际运用

  • 对数值进行判断

    如请假天数大于三天需要总经理审批,小于等于三天只需要人事部审核。这类型的判断还用于金额等。

  • 对提交人进行判断

如提交人是Tony则由总经理直接审批,若不是则需要部门经理审批。如何取得提交人是谁,则通过公式的编写。

  • 对提交人岗位进行判断

如当提交人是部门员工,则由部门经理审批;而当提交人是部门经理,则由总经理审批。条件中,首先要使用系统提供的函数来获取相关的信息。如:{applicant.roles}获取提交人的角色。

  • 组合条件进行判断

运用或、与的关系进行多个条件组合判断。如是部门经理或者是办公室人员由办公室审批,而不是部门经理且不是办公室人员的由部门经理审批。

对于华炎魔方有疑问??
微信扫描二维码,我们的技术专家会为您解答。

我们的技术专家拥有十年以上的管理软件开发经验,无论您询问有关华炎魔方的功能、定价、实施或任何其他方面的问题,他们都将随时准备为您提供帮助。

华炎魔方

华炎魔方是新一代低代码平台,基于商业智能和模型驱动,可以按照业务部门的需求,轻松便捷地创建智能化、移动化、个性化的应用程序。

© 2020 华炎软件. 保留所有权利.