1.作用
新建表单操作的作用,是根据指定的表单模板创建一张新的表单。
2.使用方法
进入模板设计界面,单击【填表公式】,打开“填表公式管理”对话框,选中具体的“事件”,在对话框底部,单击【添加公式】,弹出“请选择操作”对话框,选择“新建表单”公式;
3.参数说明
一个完整的公式包含3部分:执行条件,数据源,新建表单(操作),其中执行条件默认为空,数据源为无,接下来再看详细的参数;
①名称:先给新建的公式取一个便于识别的名称,如“新建表单_打印模板”;
②执行条件:公式的“执行条件”是一个逻辑判断表达式,如果不满足,则整个公式都不执行,包括下面的“数据源”和“新建表单”操作都不会被执行;
填表公式-概述
;③数据源:作用是给后续的操作提供数据,可从模板的数据接口、系统内设的全局数据接口、新建表单、打开表单、导入excel、摄像头扫码、上传文件、询问对话框、本表单明细等获取数据,并将获取到的数据传给后续的操作中使用,默认为无,可参见
填表公式-数据源
;④执行条件:操作的“执行条件”,是一个逻辑表达式,与公式执行条件的区别,详细可参见
填表公式-概述-执行条件
; ⑥目标窗口:对于新创建的表单,我们可能想以不同的方式来显示。例如弹出一个对话框来显示,或者新打开一个标签页来显示……
云表提供了七种目标窗口的呈现方式:
★模板的视图类型:在当前视图内,根据模板所设置的视图类型,确定新建后需要呈现的视图类型。例如模板B所设置的视图类型为“标签页”,当我们单击表单A中的按钮来新建B,此时B会以“标签页”的方式呈现。
★新标签页:在当前视图内,以新标签页的方式来呈现新建的表单。例如我们单击表单A中的按钮来新建表单B,B会以“新标签页”的方式呈现。
★对话框:在当前视图内,以对话框的方式来呈现新建的表单。例如我们单击表单A中的按钮来新建表单B,B会以“对话框”的方式在当前视图上呈现。
★当前视图:在当前视图内,根据当前视图的类型来确定新建表单所要呈现的视图类型。例如表单A所设置的视图类型为“对话框”,当我们单击表单A中的按钮来新建B,此时B会以“对话框”的方式呈现。
★当前标签页:在当前标签页内呈现新建的表单。例如当我们单击表单A中的按钮来新建B,B会以覆盖A的标签页呈现。
★全局浮动窗体:以全局可浮动的对话框的方式呈现新建的表单。例如当我们单击表单A中的按钮来新建B,B的呈现方式——在全局视图中浮动的对话框。
★指定名称窗口:选择后可对新建表单的窗口进行命名,但这个名称为内部名称,是隐藏的。设置之后,弹出的标签页有且只有一个。例如当我们多次单击表单A中的按钮来新建B,B只会以同一个标签页的方式呈现。
⑦填充初始值:在新建表单时可以给某些数据项填充一些初始数据,比如需要当前表单的数据带到新建的表单中。
数据项列表会显示当前所选择“表单模板”的基本数据项,可以给“数据项”赋一个具体的值,也可以是一个表达式被计算后的值来作为初始值。例如我们给新建表单的数据项“金额”绑定具体的值——“2.00”,新建时,“金额”会自动填充初始值“2.00”;或者,我们给数据项“金额”绑定表达式——“数量*单价”,新建时,“金额”会自动填充数据项“数量”与数据项“单价”相乘的值。点击【删除】按钮可删除绑定的表达式。
4.示例
4.1 新建表单
“采购订单”审核完后,可通过工具栏上的【生成单据-采购入库单】下拉菜单,根据当前的“采购订单”生成一张“采购入库单”;
实现如下:添加工具栏按钮【生成单据-采购入库单】,单击该工具栏按钮触发事件时,先判断“采购订单”是否已审核,再判断“采购订单”是否已完成入库,最后新建“采购入库单”将“采购订单”的基本信息赋值给“采购入库单”(新建表单的初始值只能赋值基本信息);
①设置【生成单据-采购入库单】工具栏按钮。打开“填表公式管理”对话框,选中“工具栏按钮单击”事件,在对话框底部单击【添加按钮】,给按钮重命名为“采购入库单”,按钮分组设置为“生成单据”,即【采购入库单】二级菜单在【生成单据】一级菜单下,再单击【上移】按钮将新添加的按钮移动到合适的位置。
②设置判断“采购订单”是否已审核,在该事件下添加提示框操作。选中该事件,在对话框底部单击【添加公式】,选择“提示框”公式,给公式重命名为“提示框_单据未审核”,当表单未审核时弹出提示框,设置执行条件“本表单.审核=常量.否”,弹出提示文本“请先保存并审核单据”;
③设置判断“采购订单”是未完成入库,在该事件下添加提示框操作。选中该事件,单击【添加公式】按钮,选择“提示框”公式,将公式名称重命名为“提示框_已入库完成”,通过数据源判断,设置数据源,调用模板数据接口“查询未完成入库记录行数(采购单号)”,该数据接口有参数,给参数赋值,利用数据源查询的结果判断是否需要弹出提示框,设置操作的执行条件“数据源1.计数值<=0”,即查询未入库的记录为0时,弹出提示框的文本“订单已入库完成”;
设计数据接口“”,数据由“采购订单”提供,该数据接口在《采购订单》模板中,数据源设置为“本模板.明细”,数据列使用“计数”统计函数,统计商品的个数;
查询指定某张采购订单的未入库的记录,添加参数“采购单号”,在过滤条件中设置“本模板.采购单号=自定义参数.采购单号”过滤,通过“入库数量< 采购数量”判断未入库的记录,由于“未入库数量”可能为常量.空,,用“空置替换”函数转化后再对比;
④新建“采购入库单”将“采购订单”的基本信息赋值给“采购入库单”。选中该事件,单击【添加公式】按钮,选择“新建表单”公式,将公式重命名为“新建表单_采购入库单”,新建表单的表单模板为“采购入库单”,将本表单(采购订单)的基本信息赋值给“采购入库单”的基本信息,将“采购单号”赋值给采购入库单的“来源单号”,做好对应关系;
⑤“采购入库单”新建后,在该表单中根据已填写的“来源单号”,查询该“采购订单”下的未完成入库的明细,并填写到“采购入库单”,利用“来源单号”的值变化事件和赋值操作来完成。
进入《采购入库单》模板的设计界面,设置“来源单号”的值变化事件,打开“填表公式管理”对话框,在值变化下添加“来源单号”的数据项,并在“来源单号”的值变化事件下,添加“赋值”公式,将公式重命名为“赋值_插入未完成入库采购明细”;
设置赋值公式。当来源单号不为空并且来源类型为“采购订单”时才执行,设置执行条件;调用数据源-模板数据接口,查询该“采购单号”下未完成入库的明细,该数据接口有参数,设置“参数绑定”,直接将查询的结果填写到明细中,不勾选“显示对话框”;对目标表“明细”执行“插入操作”,勾选“插入前删除所有的行(列)”,当来源单号变化时,先删除已有的明细再插入数据源查询的结果;最后将数据源查询的结果赋值给“目标数据项”;
设计数据接口“查询未完成入库明细(采购单号)”,数据由《采购订单》模板提供,该数据接口应该在《采购订单》中设计,数据源为“本模板.明细”,数据列为模板明细所需的数据项,过滤条件如下,根据“采购单号”查询具体某个采购单的,并且“入库数量< 采购数量”的记录,“入库数量”可能为常量.空,用“空置替换”函数转化后再对比;