简介

  • “业务关联规则”主要是用于处理表单与表单之间的关系,比如进货表单进了一批货,那么存货表单相应的商品库存量就需要增加;当进货表单被删除时,那么存货表单相应商品的库存量就应该减少;

  • 这种一张表单数据发生变化要同步影响另一张表单数据(增加,更新,或者删除)的业务规则,可以通过在“业务关联规则”里设置实现。

  • 要实现业务关联规则,需要使用到高级公式,具体高级公式,目前支持的高级公式如下(可以根据自己需求,选择对应的公式进行学习):

    • INSERT(往目标表中插入数据)链接

    • UPDATE(根据条件更新目标表数据)链接

    • UPSERT(条件匹配则更新,不匹配则插入数据)链接

    • DELETE(根据条件删除指定数据)链接

业务关联规则入口

单据表单

单据表单,在设计器中,点击空白,可以在右侧看到
业务关联规则 - 图1

单据表单的“业务关联规则”界面如下,可以设置单据在第一次提交、编辑 或 删除时分别要执行的动作。

  • 单据提交: 数据第一次提交时执行

  • 单据删除: 数据删除时执行

  • 单据编辑 : 数据修改时执行

业务关联规则 - 图2

流程表单

流程表单,支持按照节点设置不同的业务规则(流程-> 设置-> 节点提交规则设置 -> 关联操作-> 公式)

业务关联规则 - 图3

流程表单是按照节点维度设置业务规则的,分”开始”、”结束”、”普通审批节点”

  • “开始节点”:在流程发起时,执行关联操作中的公式

业务关联规则 - 图4

  • “结束节点”:整个审批流程结束时执行。由于结束时,审批结果有”同意”、”拒绝”、”撤销/终止”三种情况,因此你可以设置在什么审批结果下,执行什么公式.例如下图,就是指定了”流程结束”时,并且审批意见是”同意”或者”拒绝”时,执行UPSERT公式

业务关联规则 - 图5

  • “审批节点”: 流程中的节点。当多个节点都需要执行业务公式时,可以一次选择多个,但公式只需设置一次。另外,流程中的节点目前只支持”同意”,”拒绝”,”退回”三种情况。

业务关联规则 - 图6

进销存场景说明

参考具体的进销存场景说明链接

注意

  • 只有单据表单和流程表单才能设置业务关联规则,其他类型的表单不是数据收集类表单,不能设置

  • 由于流程表单数据是审批生成,因此不允许通过公式修改。因此,只有单据表单中的数据才能通过”业务关联规则”公式修改。

  • 一次最多只能更新单据表单中50条数据,超过50条,不允许执行。

  • 一次只能往明细中插入50条数据,超过50条数据,不允许执行。

  • 单据编辑时,同个组件的值有两个(更新前/更新后)。更新前的值和更新后的值不能出现在同一个业务公式中,因此当需要利用更新前的值进行数据回滚,之后再用更新后的值进行生效时,请配置两条业务公式. 这种场景的配置例子,请看链接

  • 节点如果配置业关联规则,节点被退回的时候,会重新触发一次,为了避免和之前触发的规则产生重复的影响,可以在下一个节点退回的时候,配置退回动作的业务关联规则来消除之前规则所产生的影响。从而避免节点的被退回时关联规则的“重复提交”。