1.什么是保存表单后事件
保存表单后事件,是指表单保存时触发的,目前有以下5个方式可触发保存表单后事件:
①单击【保存】按钮时触发;
②在填表公式中调用“保存”操作触发;
③通过【批量导入】excel时,创建并保存表单时触发,参考案例
批量导入明细
;
④通过填表公式的“新建并提交表单”触发 参考案例
新建并提交表单-示例
;
⑤通过计划任务,根据设置的规则创建并保存表单时触发,参考案例
利用计划任务生成生产计划
;
2.子事件
业务公式的保存表单后事件有3个子事件:新建时,更新时,删除时,是客户端向服务器提出的3种操作请求。

新建时,指本表单新建保存时触发;
更新时,指本表单更新保存时触发,在此子事件中,还可获取到本表单数据项的旧值和新值;
删除时,指本表单删除保存时触发。
根据表单不同保存情况,需要在对应的子事件下设置不同的业务公式。
3.如何使用
在模板设计界面,单击【业务公式】,打开“业务公式管理”对话框,找到“保存表单后事件”,单击【添加公式】,选择执行业务操作的目标模板;

4.示例
我们修改“商品档案”时,同步生成“商品日志记录”为例。
《商品档案》作为基础信息,为了能清晰的知道什么时候发生的变化,以及操作的人员,当“商品信息”每次保存时都同步生成一条“日志记录”,新建商品是,生成日志记录“新建商品****”,编辑商品后,生成日志记录“更新商品***”,删除商品时,生成日志“删除商品*****”,模板样式如下:

《商品档案》

《日志记录》
并在“商品档案”模板中,设置“关联表单”,使在“商品档案”总表中选中商品时,下方关联显示它的日志记录,关联关系为 商品档案.商品编号=商品日志.商品编号;

①在“保存表单后事件”下添加针对“日志记录”的操作。在《商品档案》模板的设计界面,单击【业务公式】,打开“业务公式管理”对话框,选中“保存表单后事件”,单击【添加公式】,选择事件触发后将修改数据的目标模板“商品日志”。

②当“商品档案”新建保存时,生成日志“新建商品”。左侧显示目标对象“商品档案”,“数据源”使用默认的“本表单”,在默认的选项卡“新建时”下设置公式;
设置“执行条件”,没有“执行条件”,默认执行;
设置子数据源,无需从模板数接口中获取数据,无需设置子数据源;
设置操作,“商品档案”每次发生变化时,都生成新的日志记录,因此需要执行“新建表单”操作,并将“本表单”的数据项赋值给“目标对象”的数据项,此时的操作类型为“新建商品”;

③当“商品档案”编辑保存时,生成日志“更新商品”。数据源不变,打开“更新时”选项卡设置公式;
设置“执行条件”,没有“执行条件”,默认执行;
设置子数据源,无需从模板数接口中获取数据,无需设置子数据源;
设置操作,“商品档案”每次发生变化时,都生成新的日志记录,因此需要执行“新建表单”操作,并将“本表单”的数据项赋值给“目标对象”的数据项,此时的操作类型为“更新商品”;
在本表单更新保存时子事件中,可以获取到本表单数据项的旧值和新值,因此可设置修改内容为 “
参考成本由”+本表单.参考成本.旧值 +“变更为”+本表单.参考成本.新值


获取本表单数据项新值和旧值的方法
④当“商品档案”删除保存时,生成日志“删除商品”。数据源不变,打开“更新时”选项卡设置公式;
设置“执行条件”,没有“执行条件”,默认执行;
设置子数据源,无需从模板数接口中获取数据,无需设置子数据源;
设置操作,“商品档案”每次发生变化时,都生成新的日志记录,因此需要执行“新建表单”操作,将本表单的数据项赋值给目标对象的数据项,此时的操作类型为“删除商品”;

设置业务公式名称并保存;

⑤应用效果。在“商品档案”中新建商品“测试商品”自动生成一条操作类型为“新建商品”的日志记录,再次打开该商品,修改参考成本,又生成一条操作类型为“更新商品”的日志记录,不同的子事件,根据表单不同保存情况触发执行。

更多保存表单后事件的应用案例请参考
全路径
;