根据表单数据自动填写其它数据

利用填写规范可以智能的填写表单,但是填表表单时还可能会碰到一些稍复杂的操作,比如填写《销售单》时,根据销售单的金额反算单价、在《销售单》界面查看商品详细信息,要如何实现填写呢?

1.什么是填表公式

  什么是填表公式呢?它在客户端(云表浏览器)中运行,响应用户交互动作,辅助用户填写表单,让填表变得更智能,减少填表的工作量,提升填表效率,同时也起到规范化填写的作用。通过填表公式可以实现哪些操作呢?比如:WMS系统中,使用PDA扫码后通过填表公式将扫码内容解析成数据填写表单,在《付款单》中通过填表公式分摊付款金额,打印箱码时通过填表公式实现批量打印...这些界面上的操作都是利用填表公式实现的。
  填表公式在哪个位置呢?在模板“公式设置区”的“数据接口”的后面。
  填表公式,是由事件驱动+操作组成。由事件触发,执行对应的操作。什么是事件呢?比如下雨收衣服,下雨就是事件,针对该事件,执行收衣服的操作。

2.如何使用填表公式

  填表公式是由事件+操作组成,根据触发的事件,执行对应的操作,因此使用填表公式有2个步骤:第一步选择触发的事件;第二步添加事件触发后需要执行的操作。

2.1 新建打开表单后事件

  接下来将以《销售单》为例子(图1),看看如何不用填写规范,如何利用填表公式新建时填写销售单的销售日期,销售员和部门信息。根据填表公式的使用2步:第一步选择触发的事件,新建销售单时自动填写销售单的销售日期、销售员和部门信息,新建表单时填写信息,因此事件为“新建打开表单后”事件;第二步添加事件触发后需要执行的操作,新建表单后需要执行什么操作呢,给销售日期、销售员和部门赋值,需要执行“赋值操作”。
图1:新建销售单
 在《销售单》的模板设计界面,单击“填表公式”,弹出“填表公式管理”对话框,选项卡默认为“表单”的填表公式,第一步选择触发的事件,选择“新建打开表单后”事件,第二步添加事件触发后需要执行的操作,单击“添加公式”添加操作,弹出“操作列表”,选择“赋值”操作
  在“新建打开表单后”事件下显示新建的赋值操作,给赋值操作重命名为“赋值_初始值”。
  接下来完善赋值操作。“赋值”操作中“执行条件”不填写时代表默认执行,“执行条件”运行的结果为 ture时向下运行,运行的结果为 false时不再继续运行。执行方式无需更改,数据源无需更改,目标表选择什么呢?需要给“销售日期”等数据项赋值,这些数据项在“销售单”的基本信息(本表单)中,“目标表”使用默认的“本表单”,需要更新这些目标表数据项的值,使用默认的“更新操作”。
  在“目标数据项”中找到“销售日期”数据项,在“销售日期”数据项的赋值表达式上,单击【...】,打开“表达式编辑”对话框,给“销售日期”赋值 系统变量.当前日期,系统变量 在填写规范和填表公式中都可调用,在填表公式是作为“函数分类”中的一种,在“分类”中选择“系统变量”,选择分类后选项中显示该分类下所有的函数,双击“系统变量.当前日期”将它添加到表达式中,单击【下一步】,给其他数据项赋值,给销售员赋值“系统变量.当前用户姓名”,给部门赋值“系统变量.当前用户所在部门”,完成赋值后单击【确定】。
  设置好填表公式后,保存公式与模板。新建打开销售后,自动填写销售单的销售日期、销售员、部门信息。(图1)

2.2 值变化事件

  还是以《销售单》为例子,看看值变化事件的使用。销售单中 金额=数量*单价,如果用填表公式如何实现呢?数量变化,金额变化,单价变化,金额也变化,当明细的数量或者明细的单价的值发生变化的时,都需要重新计算明细金额的值,使用填表公式时,第一步选择触发的事件,事件为值变化事件,是哪个数据项的值变化事件呢?明细的数量或者明细的单价,第二步添加事件触发后需要执行的操作,给金额赋值,需要执行赋值操作。
  在《销售单》模板的设计界面,打开填表公式,第一步选择触发的事件-“值变化”事件,值变化事件是一个“事件群”,需要添加具体的数据项。单击“添加数据项”,弹出数据项选择窗口,该窗口会显示本模板所有的数据项,单价和数量在明细表中,数据表选择“明细”,勾选“数量”和“单价”2个数据项
这样设置代表“数量”或者“单价”其中一个数据项的值变化时事件触发,第二步添加事件触发后需要执行的操作-赋值操作,已选中“明细.数量”或“明细.单价”值变化事件,单击“添加公式”,选择“赋值”操作。
  设置赋值操作,给赋值操作重命名为“赋值_金额”。赋值操作可总结为“什么条件针对谁执行什么操作”,“什么条件”是指执行条件,没有默认执行,“针对谁”-是指目标对象,对金额赋值,金额在明细中,目标表选择明细,“执行什么操作”-更新金额的值
  本表单.明细.金额=本表单.明细.数量*本表单.明细.单价,编辑表达式,调用数据列表中的数据项,2个数据项用乘号连接,将完成表达式的编辑后,单击【确定】
  注意这里的赋值表达式中没有=,在赋值操作中,赋值表达式中是值,在目标数据项“金额”中,根据操作“填入值”,赋值赋值表达式的值,这里的“填入值”就类似于“=”的功能,单击【确定】,保存公式及模板设计。
    在销售单界面,修改数量或者单价,金额自动更新。

3.填表公式与excel公式的区别

  有excel公式为什么还需要填表公式呢,这二者之间具体有什么区别呢?.
  ①单元格Excel公式后,单元格会自动锁定,不能再次修改。
  ②当模板中多个表格时,跨表格时不能使用Excel公式,但是填表公式可以跨表格。
  ③填表公式的功能比Excel公式的功能更加强大,可以执行很多Excel公式不能执行的操作。例如,从其它模板或者表单中获取数据等。
  ④含有Excel公式的单元格不能触发填表公式值变化事件。
2022-04-19
46 38