跳到主要内容

工作流的全局配置


在工作流的"配置"页面中可以进行工作流的全局配置,主要分为三大类:流程的基础配置、人工节点的功能配置和流程参数的配置。

一、流程的基础配置

1.流程错误的通知人

当工作流发生错误的时候,可以通知给指定的人,可以通知给流程的拥有者,或者其他指定的人。如果一段时间内,相同的错误信息不需要通知,则可以设置XX时间内不接收相同错误信息。

  • 流程拥有者

    默认为流程的创建人,可以更换,有且只能有1个人。

  • 同时通知其他人

    除了拥有者必须通知外,可以指定通知其他若干人。

通知效果如下:

2.运行方式

同一个工作流,可能有多条记录同时触发,例如有个工作流(仅新增记录时触发),通过Excel导入新增100条数据时,会瞬间触发100次流程,这100次流程可以根据实际业务需要选择并行执行、顺序执行,还是严格串行执行。

可选择运行方式的流程类型

  • 仅新增记录时删除记录时触发的流程

    常见的是通过Excel导入新增数据瞬间触发N次流程。或工作流批量新增批量删除时。

  • 自定义动作触发的流程

    常见的是勾选多条记录,然后点击按钮批量触发。

“仅新增记录触发”,“删除记录触发”和“自定义动作触发”这3类触发的流程才可以选择运行方式,其他触发方式都是并行执行,且不允许修改。

子流程和封装业务流程的运行方式,取决于子流程节点/调用封装业务流程节点中配置的方式。

并行执行

此方式下流程运行速度快,适合运行实例间互不影响的流程。

例如:在Bug管理应用中,有19个Bug已经修复更新,需要通知Bug的反馈人进行验证。那么可以批量勾选19个Bug,然后点击“通知验证”按钮执行通知工作流。这19个记录/流程之间不需要先后顺序,互不影响,可以同时执行,这种场景就选择“并行”的方式。

并行执行时的排序是怎样的: 是无序的。

顺序执行

此方式执行速度慢,按排序逐条进行,适用于运行实例之间的数据互相影响的流程。

例如:在《领用申请》表中,新增一条领用记录后,工作流需要从库存中查询空闲设备并领用。如果在同一时间多人提交申请并领用同一个物料的话,就涉及到库存余量的问题。例如,笔记本库存10本,有3个人领用,每人5本,如果他们都是在同一个时间提交记录,则查到库存都10,都可以领用,这样显然是有问题的,不能并行执行,需要有先后顺序,这种情况就需要串行。三个人提交记录后触发的3个流程依次执行,第1个人的申请流程执行是库存是10,领5剩5,第2个人的申请流程执行时库存是5,领5剩0,第3个人的申请流程执行时库存不够就中止了。

顺序执行时的排序是怎样的:

  • 如果是手动逐条勾选,点击按钮批量触发流程,则按勾选顺序执行

  • 如果是全选记录,点击按钮批量触发流程,则按当前页面的排序从上到下逐条执行。

  • 如果是新增记录触发流程,则按新记录的创建顺序执行。

顺序执行方式中,前一条流程在什么情况下开始执行下一条流程

  • 流程正常执行完成后,开始下一条流程

  • 当前流程异常中止后,开始下一条流程

  • 当前流程进入延时节点,开始下一条流程

  • 当前流程进入审批/填写节点后,开始下一条流程。由于审批/填写节点等待时间不定,因此到这种节点后就直接开始下一条流程

  • 当前流程一旦进入子流程/封装业务流程,整个流程耗时将不确定,有两种方式:

    • 勾选了等待子流程执行完毕后再执行后续节点(如下图设置),则批量流程排队执行时就不会等待某个流程的子流程处理完了,一旦进入子流程这一刻,直接进入下一条流程。

    • 如果没有勾选,会直接执行后面节点,等当前流程正常执行完,开始下一条流程。

严格串行

前面讲到,顺序执行方式下,流程中如遇到了子流程、封装业务流程时,不会等执行完毕,会直接进入下一条流程。 严格串行的方式解决了这个问题,保证上一条流程完全执行完毕后再执行下一条。

严格串行的方式下,前一条流程在什么情况下开始执行下一条流程

  • 流程完全正常执行完毕后(包括流程中的子流程、封装业务流程),开始下一条流程

  • 当流程异常中止后,开始执行下一条流程

3、数据格式

在工作流的"配置"页面中,可以设置系统时间字段在工作流中的计算精度。默认为精确到分钟,设置为精确到秒后,所有的工作流系统字段时间以秒进行引用和计算。

系统时间字段主要包括:

  • 工作表 - 创建时间
  • 工作表 - 审批 - 发起时间
  • 工作表 - 审批 - 节点开始(审批块内有效)
  • 工作表 - 审批 - 剩余时间(审批块内有效)
  • 工作流 - 触发时间
  • 流程参数 - 日期时间类型参数
  • 运算节点 - 为日期加减时间 - 输出格式为“日期+时间”的

系统当前时间始终精确到秒

主要作用在:

  • 代码块节点

  • 运算节点

  • 其他使用时间字段的节点中

在获取数据节点中当做查询条件,查询方式是等于或不等于时,日期时间字段始终精确到天去查询,其他查询方式精确到秒。

4、节点日志

在"工作流"的"配置"页面中,可以开启"节点日志",开启后,在工作流的运行历史中,可以查看每个节点的执行详情,查看在执行每个节点时的数据。 日志数据仅保留90天。

开启节点日志后,在查看运行历史中的节点时,动态字段会直接显示为当时的值。

关闭节点日志后,在查看运行历史中的节点时,只显示配置信息。

4、触发者查看

作为流程的触发者,如果您不想让此工作流出现在“我发起的”的待办流程中,设为关闭即可。

触发者在查看时,此流程不会出现在"我发起的"分类下。

新建的流程默认为关闭状态,如果流程中添加了审批、填写、抄送节点会自动开启(发起审批流程内添加的不会自动开启)

5、触发其他工作流

当前工作流中,如果有更新记录、新增记录、删除记录等节点,这些节点执行后,可能触发其他工作流。

例如: 流程A的节点中,通过新增记录节点向表1新增一行记录。另一条流程B的触发器设置为:当表1有新增记录时触发流程,那么流程A在执行中向表1新增了记录,是符合流程B的触发条件的,到底要不要触发流程B,我们可以通过配置来决定。

  • 允许触发

    即允许触发其他工作流,但是, 如果本流程和其他流程的触发器选择的是同一张表,那么其他流程的触发器中必须指定了触发字段,才能触发。

    如下图, 被触发的流程中,必须要指定触发字段才能被触发。在上例中,流程B触发时必须指定触发的字段。

    如果流程A是按钮触发的,则流程B不需要指定字段。 流程A是自动触发的,流程B才需要指定字段。

  • 只能触发指定工作流

    当前流程的操作,例如修改了其他表的记录数据,会触发相关的N个流程,那么在这N个流程可以选择几个特定的流程才可触发,其他流程不能触发。

    这些流程不一定是本应用下的,也可以是其他应用下的。

  • 不允许触发

    凡是工作流自动处理的数据,都不再触发其他工作流,即使对数据的更改满足了其他工作流的触发条件也不触发。

    注意:点击按钮新增记录,然后执行工作流。是可以触发流程B(新增时触发),因为新的记录是人工创建的,不是工作流自动创建的。

    又如,点击按钮后,通过工作流新增记录,就不会再触发流程B(新增时触发)了,因为新的记录是工作流自动创建的,而流程设置了不运行触发。

二、人工节点(审批、抄送/通知)的配置

本功能仅作用于直接使用审批节点配置的审批流程,对【发送审批流程】内的审批节点无效。

1、撤回和催办

工作流触发后,支持触发流程的人员进行撤回或催办:

  • 撤回

    • 支持指定当某个审批节点通过后,流程不允许触发者撤回。

    • 撤回后流程中止。

  • 催办

    当审批人长时间不进行审批,触发者可点击按钮进行催促,通知审批人加快处理。

如何撤回或催办

审批流程的触发者依次进入【待办】 》 【我发起的】流程列表,打开流程后,可看到撤回和催办按钮。

管理员如何查看工作流是否被撤回

管理员可以通过历史触发的流程中看到状态。

提示

流程被撤回后,已经执行的节点操作不会撤销。
例如流程A的配置:触发节点 》 更新节点》 审批节点 流程触发后,自动执行了更新节点,将字段的值由a修改b, 然后进行审批节点,等待审批,此时如果流程触发者撤回了,则不再继续审批,且b不会改回a。

2、审批自动通过的配置

本功能仅作用于直接使用审批节点配置的审批流程,对【发送审批流程】内的审批节点无效。

  • 1)工作流触发者自动通过

    如果触发流程的触发人员和当前审批节点的审批人是同一个人的话,如果勾选,那么此节点自动通过。如果不勾选,则需要触发者再审批一次。

  • 2)已经审批过该对象的审批人自动通过

    流程中有多个审批节点,例如,审批节点1》审批节点2》审批节点3》审批节点4.

    如果审批节点1和审批节点4,审批的对象记录是同一记录,且审批人是同一个人,那么审批节点3审批通过后,到审批节点4 这一步就可以自动通过审批了,因为他在第1步已经通过了。

  • 3)审批人为空时自动通过

    当审批节点没有设置审批人或者审批人无效时,勾选后,本次审批自动通过。

  • 4)验证必填字段

    主要是针对1)和2)的审批自动通过的场景。 如果当前审批节点配置了必填字段,是否还能自动通过。 如果勾选,则不能自动通过,必须再次审批一次。 如果未勾选,则自动通过。 审批人为空时始终会自动通过。

3、通知节点

是否向流程触发者发送通知。此配置适用此流程中所有的抄送和站内通知节点。

操作者触发了工作流,流程中有通知/抄送节点,会有以下两种情况

  • 节点通知人只有操作者本人, 此节点直接跳过

  • 节点通知人还包括有其他人,则正常执行,但不会向本人发通知

如果您在使用时,发现通知节点不执行,或者收不到通知消息,可以看下这里的配置。

三、流程参数

在流程中定义一个参数对象,就像一个临时的工作流字段一样,可以存放某个字段值,或计算结果,或接收其他流程中传过来的值,然后被其他节点引用。 流程运行结束后,参数值会被清空重置。

  • 参数类型

    目前支持:文本、数值(金额)、日期时间、成员、部门几种类型。

  • 参数名称

    名称必须以字母开头,可以包含数字和下划线。

如何给参数赋值

  • 通过 “更新流程参数” 为本流程参数赋值

  • 在“子流程节点”为子流程的参数赋值

    必须先进入子流程,把子流程的参数配置好,这里才能给子流程的参数赋值,在子流程执行时参数就自动有了初始值。


文档问题反馈

文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧