表单业务规则
未升级到新版信息架构的组织,请 点此查看 使用手册
1. 表单业务关联规则
1.1 什么是业务规则
主要是用于处理表单与表单之间的关系,这种一张表单数据发生变化要同步影响另一张表单数据(增加、更新或者删除)。
路径:进入表单编辑页面 >> 点击表单空白处 >> 右侧会有个表单事件 >> 添加业务关联规则
添加业务关联规则
1.2 使用场景
比如需要计算物品的出库、入库和最终库存时,物品入库了,那么库存表相应的商品库存量就需要增加;当物品领用或者是入库表单被删除了,那么库存表里相应商品的库存量就应该减少。
2. 业务关联规则功能描述
2.1 表单事件
- 在这三个事件(表单提交、表单删除、表单编辑)上都可以触发业务关联规则的执行;
- 业务关联规则需要使用下面四个高级函数,来完成对应用内其他表单的增删改查操作;
2.1.1 INSERT
格式:INSERT(form, form.field1, value1, form.field2, value2,......) ;
主要用于把当前录入表的数据插入到目标表中,为目标表单插入新实例。当前表单操作成功时,在目标表单(form)中插入新的实例,新实例中目标字段(field1,field2,......)依次为目标值(value1,value2,......),其余字段默认为空。
2.2.2 UPDATE
格式:UPDATE(form, rule, rule2, form.field1, value1, form.field2, value2,......)
主要用于更新目标表中符合条件的数据。当前表单操作成功时,若目标表单(form)存在满足过滤条件(rule,rule2)的实例,则依次更新实例的目标字段(field1,field2,......)为目标值(value1,value2,......)。
2.2.3 UPSERT
格式:UPSERT(form, rule, rule2, form.field1, value1, form.field2, value2,......)
主要用于往目标表单中插入或者更新数据。当前表单操作成功时,若目标表单(form)存在满足过滤条件(rule,rule2)的实例,则更新实例同 UPDATE,若不存在,则插入新实例同 INSERT。
2.2.4 DELETE
格式:DELETE(form, rule, rule2)
主要用于删除目标表的数据。当前表单操作成功时,若目标表单(form)存在满足过滤条件(rule,rule2)的实例,则删除此实例。
2.2 案例说明
我们实现一个记帐本的功能。记帐本包含2个表单:帐单明细表和帐单按月汇总表。
具体包含的功能:
- 提交帐单明细记录时,同时在该月汇总的费用金额上加上新的帐单金额;
- 删除账单明细记录时,同时在该月汇总的费用金额上减去新的帐单金额。
- 操作步骤
(1)表单右侧 >> 属性 >> 添加业务关联规则
业务关联规则
(2)配置业务规则:提交账单明细记录时,同时在该月汇总的费用金额上加上新的账单金额;
使用高级函数:UPDATE
(3)配置业务规则:删除账单明细记录时,同时在该月汇总的费用金额上减去新的账单金额
使用高级函数:UPDATE
(4) 在提交和删除时,都关联上业务规则,这样提交表单会统计数据,删除表单也会统计数据
这时候别忘记保存表单,2个业务规则已经设置好了,来测试一下:
(1)提交帐单明细记录时,同时在该月汇总的费用金额上加上新的帐单金额;
(2)配置业务规则:删除帐务明细记录时,同时在该月汇总的费用金额上减去新的帐单金额。
注:流程表单的相关配置不在表单设计器中,在流程设计中配置。详细配置可点击查看