1.作用
在服务器端,根据指定的表单模板,创建一张带有初始值的表单。
注意:由于直接在服务器端新建表单,不触发“表单模板”的值变化事件;
2.使用方法
进入模板设计界面,单击【填表公式】,打开“填表公式管理”对话框,选中具体的事件,在对话框底部单击【添加公式】,弹出“请选择操作”对话框,选择“新建并提交表单”公式,在选中的事件下添加好“新建并提交表单”公式,并完善公式。
3.参数说明
一个完整的公式包含3部分:执行条件,数据源,新建并提交表单(操作),其中执行条件默认为空,数据源为无,接下来再看详细的参数;
①名称:先给新建的公式取一个便于识别的名称,如“新建并提交表单_供应商信息”;
②执行条件:公式的“执行条件”是一个逻辑判断表达式,如果不满足,则整个公式都不执行,包括下面的“数据源”和“新建并保存表单操作”操作都不会被执行,
详见“填表公式-概述”
; ③数据源:作用是给后续的操作提供数据,可从模板的数据接口、系统内设的全局数据接口、新建表单、打开表单、导入excel、摄像头扫码、上传文件、询问对话框、本表单明细等获取数据,并将获取到的数据传给后续的操作中使用,默认为无,
详见“填表公式-数据源”
; ④执行条件:操作的“执行条件”,是一个逻辑表达式,如果不满足,则“新建并保存表单”操作不会被执行,与公式执行条件的区别,
详见“填表公式-概述”
-执行条件; ⑥异步提交:默认为同步提交,按照填表公式的先后执行顺序执行,勾选该选项后为异步提交,异步提交可提高系统的运行效率。但是当下一步操作需要使用上一步操作的返回值时,必须使用同步提交;
同步提交:提交请求->等待服务器处理->处理完毕返回(这个期间客户端不能干任何事)
异步提交:请求通过事件触发->服务器处理(这时客户端仍然可以做其它的事)->处理完毕
⑦填充初始值:在新建表单时可以给“表单模板”的数据项填充初始数据;
数据项列表会显示当前所选择“表单模板”的基本数据项,可以给“数据项”赋一个具体的值,也可以是一个表达式被计算后的值来作为初始值。例如我们给新建表单的数据项“金额”绑定具体的值——“2.00”,新建时,“金额”会自动填充初始值“2.00”;或者,我们给数据项“金额”绑定表达式——“数量*单价”,新建时,“金额”会自动填充数据项“数量”与数据项“单价”相乘的值。
4.示例
我们以“小工单”为例,“生产订单”排产后自动生成若干个“生产任务”,若在中途需要针对某个“生产订单”执行“中止”或者“取消”的操作,此时由于“生产订单”已排产,表单已锁定无法修改,如何执行该操作呢?
实现思路如下:增加中间模板《生产订单操作中间表》,单击【中止】或者【取消】时,新建并提交《生产订单操作中间表》,当《生产订单操作中间表》保存时,通过业务公式判断该“生产订单”是否可执行“中止/取消”操作。
①新增模板《生产订单操作中间表》,模板中通过“工单编号”记录是哪个“生产订单”,通过“操作”记录需要执行的操作。
②在工具栏按钮单击事件下添加“中止”按钮,在《生产订单》模板的设计界面,单击【填表公式】,打开“填表公式管理”对话框,选中工具栏按钮单击事件,单击【添加按钮】,设置按钮标题“中止”;
③单击【中止】时,先判断订单是否已取消。在“中止”工具栏按钮单击事件下添加“提示框”公式,选中该事件,单击【添加公式】按钮,在弹出的“请选择操作”对话框中选择“提示框”公式,将公式重命名为“提示框_订单已取消”,当表单的状态为“已取消”时弹出提示框,填写”执行条件”和“提示文本”;
④单击【中止】时,新建并提交“生产订单操作中间表”。选中该事件,单击【添加公式】按钮,在弹出的“请选择操作”对话框中选择“新建并提交表单”公式,将公式重命名为“新建并提交表单_中止”,提交的表单模板为“生产订单操作中间表”,并填充初始值,操作为“中止”;
⑤提交的表单“生产订单操作中间表”保存时,触发“保存表单后事件”,在该模板的“保存表单后”业务公式中设置对《生产任务》和《生产订单》的操作;
中止生产任务。对《生产任务》模板执行更新表单操作,根据“工单编号”匹配将“生产任务”的状态更新为“已中止”;
中止生产订单。对《生产订单》模板执行更新表单操作,根据“工单编号”匹配将“生产订单”的状态更新为“已中止”;
⑥生产订单的状态已更新,当前的表单需要刷新显示最新的数据,添加“刷新”操作。选中该事件,单击【引用公式】,弹出“选择要引用的公式”对话框,选择“系统内置”选项卡,选中“刷新”公式,完成“中止”时的操作。
⑦为了体验更好,单击【中止】工具栏按钮时,先弹出选择框让用户选择是否执行该操作,可调用“数据源”设置为“询问对话框”实现。
选中“新建并提交表单_中止”公式,将“数据源”设置为“询问对话框”,设置询问对话框的“提示文本”为“请确认是否要中止此订单”,询问对话框中显示“是”、“否”和“取消”3个按钮,单击按钮时返回对应的“返回值”,当选择“是”按钮时,返回值为“是”,需要执行“新建并提交表单操作”,因此将“操作的执行条件”设置为“数据源1.返回值=“是””时执行。
⑧“取消”的公式与“中止”的公式类似,添加“取消”工具栏按钮,新建并提交“生产订单操作中间表”时,操作为“取消”;