2.42 触发关系

1. 来源与目标

触发的来源与目标可以是相同的表单,由该表单中不同的数据记录根据触发点的设置执行触发事件;也可以是不同的表单,由来源表单中的数据记录根据触发点的设置对目标表单的数据记录执行触发事件。

触发的目标还包括触发消息及创建或更新协同系统组织架构中的人员、创建协同系统会议、创建协同系统任务。

2. 触发点

触发前置条件中可以按设置计算公式中条件判断的方式配置条件,当且仅当该条件满足的时候,才在设定的触发点或时间点执行下方的触发事件。

触发点处,流程表单触发则有流程结束、首次核定通过、每次核定通过、首次条件满足4种可选。

(1) 流程结束:整个流程全部结束时(注意,即使知会节点在流程最末也不影响流程的结束)。

(2) 首次核定通过:流程中第一个权限为核定的节点完成处理时(注意,仅限第一个)。

(3) 每次核定通过:流程中每一个权限为核定的节点完成处理时。

(4) 首次条件满足:当设置的触发前置条件第一次满足时(注意,仅限第一次)。

底表触发则有首次条件满足、每次条件满足、指定操作3种可选。

(1) 首次条件满足:当设置的触发前置条件第一次满足时(注意,仅限第一次)。

(2) 每次条件满足:当设置的触发前置条件满足时,即条件一满足就执行触发事件。

(3) 指定操作:指定底表中某个视图的某个操作执行完成后。

如果触发的来源是底表,则还可以设置定时触发,即在指定日期(包括月初、月末、季初、季末、半年初、半年末、年初、年末等特定时点)的指定时点提前或缩后指定的天数(分工作日或自然日)进行触发。定时器中还有时间调度,分一次性和周期性,周期性则按天、周、月、季度、半年、年循环性(选择上述月初等特定时点时自动按其周期)进行触发。定时触发可以与触发点相结合。

定时器首次条件满足:定时器中调度为一次性,则仅在时间点满足且触发前置条件也满足的情况下进行触发;定时器中调度为周期性时,则在每个周期中当触发前置条件第一次满足的情况下进行触发(注意,每个周期内仅有一次)。

定时器每次条件满足:没有实际的使用场景。

一般情况下,流程表单对底表的触发点多选择流程结束和首次核定通过。流程结束意味着数据也不再更改;首次核定通过,通常意味着数据已经过审核后敲定,之后的流程节点不再更改。

首次条件满足通常用于新增底表数据记录;每次条件满足则用于底表发出消息或发起流程。

3. 触发事件

触发事件中,新建记录、更新记录、新建后同步更新记录均为来源表单向目标表单存储数据,此时的目标表单必须是底表;而触发流程均为通过来源表单生成目标表单的数据与流程,此时的目标表单则必须是流程表单。

(1) 新建记录:在目标底表中根据所选择的应用绑定新建数据记录,将来源表单中字段的值或内容存储到目标表单中相同类型的字段,支持设置穿透视图,即在目标表单中可打开来源表单对应的数据记录。

(2) 更新记录:对来源、目标表单中相同类型的字段设置关联条件,在这些关联条件全部满足确定出唯一的底表数据记录后,将来源表单中字段的值或内容更新目标底表中相同类型的字段值或内容,还可以将来源表单中的数据添加到底表中的明细表。

  • 流程表单存储数值到目标底表数字字段时,可以根据需要设置预写。当流程表单一经发起,若满足触发前置条件,则相关数值即预存储到底表对应数字字段中,待触发点达到时(如流程结束)才正式存储值到底表数字字段。

  • 来源、目标均为底表时,需要选择合适的目标底表应用绑定。

(3) 新建后同步更新记录:来源、目标表单均为底表,来源底表根据所选择的目标底表的应用绑定新建目标底表数据记录,之后若来源底表中的相关数据出现变动,则同步存储选择字段的值或内容到目标底表的对应字段,对其进行更新。

(4) 新建流程:来源表单将选择字段的值或内容复制到目标表单的对应字段,根据所选择的目标流程表单的模板生成待处理流程,并推送给指定人员。

(5) 触发消息:来源表单根据触发前置条件、触发点和定时器设置,将消息模板中的消息发送给指定消息接收人。

新建、更新、新建后同步更新记录在映射字段后均可以设置穿透视图,设置后表单运行时,点击对应的数据可以直接弹出对应的写入表单视图,供使用者查看。

更新记录时,每个字段映射均可以再设置只针对本字段写入的条件(即满足触发前置条件及该条件时才写入这个字段)。

流程表单更新、修改底表数据记录的,创建人、修改人通常选择“当前流程发起人”;若触发点是首次核定通过、每次核定通过的,则可以选择“当前节点”;明确须由相关岗位或责任人创建、修改的,则自定义人员。

底表更新、修改底表数据记录的,创建人、修改人可以选择底表中的选人表单控件,如此不受人员调整变化的影响;明确须由相关岗位或责任人创建、修改的,则自定义人员。

底表触发流程表单的,流程发起人通常选择底表中的选人、选部门表单控件,如此可直接将流程推送给指定人员;明确须由相关岗位或人员发起流程的(如人事专员负责员工劳动合同的签订),则自定义流程发起人。

权限设置在流程表单向目标底表新建记录时,必须设置对应的底表新增权限,此时可利用该权限完成必需的初始值处理;其余情况下则根据实际需要处理初始值时来设置。

预写设置只在流程表单向目标底表更新记录时有效,其目的在于将流程中处理的数字临时存储到底表记录中,以便后续新建的流程读取的底表记录中的数字正确。其应用场景比如费用报销时从费用预算中预提一定的额度进行存储,待审批流程结束后,正式写入底表记录中。