工作流的全局配置
在工作流的"配置"页面中可以进行工作流的全局配置,主要分为三大类:流程的基础配置、人工节点的功能配置和流程参数的配置。
一、流程的基础配置
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、通知节点
是否向流程触发者发送通知。此配置适用此流程中所有的抄送和站内通知节点。
操作者触发了工作流,流程中有通知/抄送节点,会有以下两种情况
节点通知人只有操作者本人, 此节点直接跳过
节点通知人还包括有其他人,则正常执行,但不会向本人发通知
如果您在使用时,发现通知节点不执行,或者收不到通知消息,可以看下这里的配置。
三、流程参数
在流程中定义一个参数对象,就像一个临时的工作流字段一样,可以存放某个字段值,或计算结果,或接收其他流程中传过来的值,然后被其他节点引用。 流程运行结束后,参数值会被清空重置。
参数类型
目前支持:文本、数值(金额)、日期时间、成员、部门几种类型。
参数名称
名称必须以字母开头,可以包含数字和下划线。
如何给参数赋值
通过 “更新流程参数” 为本流程参数赋值
在“子流程节点”为子流程的参数赋值
必须先进入子流程,把子流程的参数配置好,这里才能给子流程的参数赋值,在子流程执行时参数就自动有了初始值。
文档问题反馈
文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧