3.11 下推生成带明细表单

通过业务公式在审核时自动生成带明细的下游单据,反审核时自动删除。

1.前言

在3.1中,入库审核后自动生成了应付款单,但那张单据没有明细。实际业务中,很多单据自带明细表,比如出库单需要把销售订单的每一行商品都带过去。如果手工逐行录入,既繁琐又容易出错。
本教程讲解如何通过业务公式,在销售订单审核时自动下推生成一张带明细的出库单,反审核时自动删除,实现上下游单据的自动联动。

2.操作步骤

(1) 新建业务公式

目标:在审核事件下添加一个业务公式,目标模板选择出库单。
① 打开"销售订单"模板,单击【业务公式】,选中"审核"状态改变事件。
② 单击【添加公式】,目标模板选择"销售出库单"。
③ 进入业务公式设置界面后,左侧可看到"销售出库单"和"明细"两个目标对象。

(2) 设置公式-情况1:新建出库单基本信息

目标:审核通过时,自动创建一张出库单。
原理:出库单的基本信息是整张单的主体,必须先创建它,明细才有归属。新建表单时不需要匹配条件,因为每张出库单都是全新创建的,没有已存在的记录需要查找。审核后系统自动生成一张新的出库单。
① 左侧目标对象选择"销售出库单",将情况1的名称改为"审核通过-生成出库单"。
② 设置执行条件:本表单.审核 = 常量.是。表示审核通过时执行该情况。
③ 操作类型选择"新建表单"。
④ 建立字段对应关系,将销售订单的单据编号对应到出库单的"来源单号",客户、日期等基本信息逐项对应过去。

(3) 设置公式-情况1:插入出库单明细

目标:将销售订单的每行商品明细插入到出库单的明细表中。
原理:销售出库单明细需要把销售订单的明细逐行带过去,所以数据源设为"本表单.明细",公式按明细行数逐行执行,每行执行一次"插入记录",把商品信息复制到出库单明细中。
① 左侧目标对象切换为"明细"。
② 将数据源设置为"本表单.明细"。
③ 操作类型选择"插入记录"。
④ 建立字段对应关系,将销售订单明细的商品编号、商品名称、数量、单价等逐项对应到出库单明细。

(4) 设置公式-情况2:反审核删除出库单

目标:反审核时,自动删除已生成的出库单。
原理:删除出库单只需要删除基本信息即可——因为明细是挂在基本信息之下的,删除出库单后,对应的明细会一起被删除,不需要单独设置删除明细表的公式。删除操作必须填写匹配条件,指定删除哪一张出库单。
① 添加一个情况2,将情况2的名称改为"反审核-删除出库单"。
② 将执行条件设置为:本表单.审核 = 常量.否。表示反审核时执行该情况。
③ 操作类型改为"删除表单"。
④ 设置匹配条件:销售出库单.来源单号 = 本表单.销售单号。找到由这张销售订单生成的出库单。

(5) 运行业务公式验证效果

使用效果:审核通过时,系统自动生成一张带全部商品明细的出库单;反审核时,自动删除该出库单,明细也随之一起删除。
新建表单与删除表单的要点:
  • 新建表单:创建全新记录,不需要匹配条件
  • 删除表单:删除指定记录,必须填写匹配条件定位要删除的单据
  • 删除基本信息后,对应的明细表会一起删除,无需单独设置删除明细的公式

3.核心要点回顾

(1)目标模板带明细时,需先新建基本信息,再插入明细记录,明细才有归属。
(2)新建表单不需要匹配条件,删除表单必须填写匹配条件定位目标单据。
(3)数据源设为"本表单.明细",公式按明细行数逐行执行,逐行插入明细记录。
(4)删除基本信息后,对应的明细表会自动一起删除,无需单独设置删除明细的公式。
2026-08-26
0 0