前面我们学习了填表公式,它在客户端运行,用于响应用户交互动作,让填表变得更智能,当表单填写完成后要实现业务操作,比如《入库单》完成入库后,怎么自动生成应付款单呢?

1.业务公式的概念
什么是业务公式呢?顾名思义是用来处理业务,执行业务逻辑。所有的业务逻辑,都可以换成数据处理的逻辑来描述,简单来说就是更新或者新建表单。业务公式是由事件驱动+操作组成。
它在服务器端执行,根据客户端(云表浏览器)提交过来的表单请求,在执行这些请求的基础上,并进行一系列对服务器端数据表的操作。它用于本表业务发生后对其他业务或者自身业务的影响。

业务公式的事件有:状态改变事件和保存保单后事件。我们以状态改变事件为例来学习业务公式的使用。
2.状态改变事件
“状态改变事件”是指表单的状态发生改变,比如《采购入库单》由“未入库”变更为“已入库”,由“未审核”变更为“审核”...等等,在计算机中,入库 = true 表示已入库,入库=false表示未入库;

如何添加状态按钮呢?它为是否类型数据项,同时也是按钮。单击【状态设置】,给数据项名称设置为“入库”,并分为设置“确定按钮标题”和“取消按钮标题”。
单击【入库】后“入库”数据项变为“true”,单击“【取消入库】后“入库”数据项变为“false”,在云表中用
常量.是
和 常量.否
,分表代表TRUE
和FLASE

3.业务公式的使用
1)确定事件。添加“状态设置”后,打开【业务公式】,在“状态改变事件”下显示该数据项。
2)选择目标对象。采购入库单入库时,需要自动生成应付库单,目标对象为“应付款单”。选中“入库”状态数据项,单击【添加公式】,选择《应付款单》模板

3)设置公式。左侧显示目标对象,“本表单”是当前操作的那张“采购入库单”,入库时需要自动生成一张“应付款单”,对应付款单执行“新建表单”操作,并把本表单数据项的值赋值给目标表的数据项。
此时“采购入库单”的“采购单号”=“应付款单”的“来源单号”

4.业务公式多情况
取消入库时,需要同步删除对应的那张“应付款单”。
单击【*】系统自动创建新的情况。此时需要对“应付款单”执行“删除表单”操作。根据“采购入库单”与“应付款单”的关联关系“来源单号”,系统自动在“应付款单”的总表根据条件执行删除。

如何让“入库”时执行情况1,“取消入库”时执行情况2呢?通过“执行条件”,执行条件没有默认执行,当执行条件判断的结果为TURE,继续执行,反之则不执行。
状态数据项“入库”的值为是否类型,分别为情况1和情况2设置执行条件,“本表单.入库=常量.是”和“本表单.入库=常量.否”。

为了让设计更清晰,在“情况1”上右键,选择“重命名”,更新为“入库”,情况2重命名为“取消入库”。

5.注意事项
“采购入库单”入库生成“应付款单”时,为什么不给“应付款单号”赋值呢?
因为“应付款单号”设置了自动编号,保存表单时会自动按照规则生成。

2.业务公式更多的应用
《入库单》审核时通过业务公式更新库存表的存货数量,同时自动创建一张《应付款单》;
WMS系统中,货品上架时扫描货位条码和物料条码之后,通过业务公式自动关联物料和货位,更新货位上物料的数量;质检时,收货之后,根据物料和质检标准自动创建《质检单》;
生产管理系统中,《销售订单》经财务审核后,利用业务公式自动计算BOM,并生成《物料需求单》等等...这些都属于业务处理,都可以使用业务公式来实现。
下一步:
建立统计报表方便数据的查询