填表公式:赋值操作

来自企业管理软件文档中心
跳转至: 导航搜索

什么是赋值操作

将某一具体的数值,或者将可以被计算的表达式赋给某个数据项的过程,称为赋值。
例如我们给数据项“金额”赋一个具体的值——“2.00”,事件触发后,“金额”会自动填充“2.00”;或者,我们给数据项“金额”绑定表达式——“数量*单价”,事件触发后,“金额”会自动填充数据项“数量”与数据项“单价”相乘的值。
云表通过填表公式中“赋值”操作的“插入”、“更新”来实现对数据项的赋值。

如何添加赋值操作

1.进入模板设计界面,单击【填表公式】,弹出“填表公式管理”对话框。

2.选择事件后,单击【添加公式】按钮,在弹出的“请选择操作”对话框中双击“赋值”操作。

20190715填表公式赋值操作01.png

3.选择刚添加的“赋值”操作,修改、完善参数即可。

赋值参数说明


20190715填表公式赋值操作02.png

先给新建的公式取一个便于识别的【名称】,如“赋值_客户信息”。

一个完整的填表公式包含三部分,本节中,这三部分分别是:
●执行条件(对应1号框)
公式的【执行条件】是一个逻辑判断表达式。如果不满足,则整个公式都不执行,包括下面的【数据源】和【赋值操作】都不会被执行。
详见“填表公式-概述”。

●数据源(对应2号框)
【数据源】的作用是给后续的操作提供数据,可从模板的数据接口、系统内设的全局数据接口、新建表单、打开表单、本表单明细等获取数据,并将获取到的数据传给后续的操作中使用。
【数据源】返回的数据是一个二维表(结构类似明细表),一行表示一条记录,一列表示一个数据项。数据源首先会取出二维表中第一条记录,驱动操作的执行一次,在操作中可以访问该条记录参与计算,操作完成后,【数据源】会取下一条记录继续驱动操作执行,以此类推,直至所有数据消耗完。数据源中有多少条记录,则驱动操作执行多少次。
例如【数据源】查出三条记录,那么赋值操作就会执行三次,赋三次值。
详见“填表公式-数据源”。

●赋值操作(对应3号框)
1.【对目标表执行】
目标表选择需要进行赋值操作的表单,默认为“本表单”。
本表单中有明细的也可以选择明细作为目标表。
当目标表为“本表单”时,只能执行“更新”赋值;当目标表为“本表单”的明细时,可以执行“更新”赋值或者“插入”赋值。
2.【赋值】
数据项列表会显示当前表单模板的本表单或者明细表的数据项,可以给<数据项>赋一个具体的值,也可以是一个表达式被计算后的值。
点击【删除】按钮可删除绑定的表达式。
3.【操作】
★填入值
系统默认。填入赋值表达式之后计算的结果。
★填入公式
在填表表达式中使用“单元格的公式”。比如要将表单的A1和A2的值相加填入本字段,则在赋值表达式中填入公式“=A1+A2”,即输入“”内计算后的值。
★填入数字格式
用于设定该字段的单元格格式。
比如要设置该字段的单元格格式为货币格式,则在赋值表达式中填入“¥#,##0.00;¥-#,##0.00”,即“”内设置的格式。
★按行[列]匹配
一般在交叉表中用到,用了“按行列匹配”后自动匹配,无需做匹配条件就可以匹配数据源的行列以及目标明细中的行列对目标数据项进行赋值。
4.【不触发值改变】
若目标字段设置了【值变化】事件,勾选该项,目标字段在执行该赋值操作后,不会引起该数据项的值发生变化时的操作变化。
5.【匹配条件】
对目标表进行“更新”赋值时,该设置才可见。
【匹配条件】如果不满足,则【赋值操作】不会被执行。
6.【数据源未查出数据时清空填报的数据项】
对目标表进行“更新”赋值时,该设置才可见。
勾选后,若数据源不存在数据,目标字段的值会被清空。
倘若未勾选该项,当数据源不存在数据时,目标字段的值不会被清空。
数据源存在数据的时候,无论是否勾选该选项,目标字段的值都会被清空。
7.【清空没有匹配上的】
对目标表进行“更新”赋值,同时还设置了【匹配条件】时,该设置才可见。
勾选后,不符合【匹配条件】的赋值会被清空。
8.【插入前删除所有行(列)】
对目标表进行“插入”赋值时,该设置才可见。
勾选后,会在明细表插入新的数据前,自动将之前所有的明细数据删除。
9.【不存在时新增一行】
目标数据项选择“按行[列]匹配”更新时,该设置才可见。
勾选后,当【匹配条件】在交叉表中匹配不到数据时,插入一行数据。若匹配上,则自动更新数据。
10.【执行方式】
★顺序执行
表示按照顺序执行操作。即执行完该操作后,再执行下一操作。
★并行执行
多个操作同时执行。如果操作的赋值没有先后顺序,为了便于快速加载可以选择“并行执行”。

示例

了解执行条件的使用

判断“采购入库单”的“供应商”是否填充内容,是,则给“采购入库单”的“申请单号”赋值。

  • 1.本例中涉及到的表单样式:
20190715填表公式赋值操作03.png

20190715填表公式赋值操作04.png

  • 2.定义“采购申请单”数据项。
20190715填表公式赋值操作05.png

20190715填表公式赋值操作06.png

  • 3.定义“采购入库单”数据项。
20190715填表公式赋值操作07.png

20190715填表公式赋值操作08.png

  • 4.在“采购申请单”中新建一个数据接口——用来作为“采购入库单”赋值操作的数据源。单击“设计数据接口-列表选择”对话框的“数据列”选项卡,添加数据项。
20190715填表公式赋值操作09.png

  • 5.为了后面“采购入库单”能与该数据接口进行一个对接,有一个匹配的数据项对数据进行过滤。我们在数据接口的“过滤条件”选项卡中添加一个自定义的参数“供应商”,绑定“采购申请单”的“供应商”。
20190715填表公式赋值操作10.png

  • 6.新建好数据接口之后点击【保存】按钮。


  • 7.回到“采购入库单”设计界面,为了在点击“申请单号”时能触发“单元格按钮点击”事件,将“申请单号”的单元格类型设为“组合按钮”。
20190715填表公式赋值操作11.png

  • 8.单击【填表公式】,在弹出的对话框中选择“单元格按钮单击”事件,并添加数据项“申请单号”。
20190715填表公式赋值操作12.png

  • 9.为了在单击“申请单号”的组合按钮【…】后能执行赋值操作。我们在“单元格按钮【申请单号】单击”事件中添加“赋值”操作。
20190715填表公式赋值操作13.png

  • 10.修改名称为“赋值_申请单号”。


  • 11.当表单“采购入库单”的“供应商”不为空时,点击“申请单号”的【…】按钮才可以执行操作。因此,执行条件设为“本表单.供应商 <> 常量.空 或者 本表单.供应商 <> ""”。


  • 12.若执行条件没有填任何内容,那么系统默认直接执行该“赋值”操作。


  • 13.执行方式默认“顺序执行”。
20190715填表公式赋值操作14.png


  • 14.为单击按钮后能弹出含有对应所填“供应商”的“采购申请单”数据的对话框。数据源选择“模板数据接口”——“采购申请单”的数据接口“采购申请单号(供应商)”,参数绑定“采购入库单”的“供应商”,勾选“显示对话框”。


  • 15.对目标表“本表单”执行更新操作,给目标数据项“申请单号”赋值——数据源“采购申请单”的“单据编号”。
20190715填表公式赋值操作15.png

  • 16.单击【确定】后保存,调试一下效果。



给明细赋值的应用

当“采购入库单”中的“申请单号”的值发生变化时,对应“采购申请单”中的“申请单号”给商品明细进行赋值。

  • 1.在“采购申请单”中新建一个数据接口——用来作为“采购入库单”赋值操作的数据源。单击“设计数据接口-列表选择”对话框的“数据源”选项卡,选择本模板的明细。接着单击“数据列”选项卡,添加数据项。
20190715填表公式赋值操作16.png

  • 2.为了后面“采购入库单”能与该数据接口进行一个对接,有一个匹配的数据项对数据进行过滤。我们在数据接口的“过滤条件”选项卡中添加一个自定义的参数 “申请单号”,绑定“采购申请单”的“单据编号”。
20190715填表公式赋值操作17.png

  • 3.回到“采购入库单”模板设计界面,单击【填表公式】,弹出“填表公式管理”对话框。为了使“申请单号”的值发生变化时,能执行赋值操作。因此,选择“值变化”事件,添加数据项“申请单号”,然后添加赋值操作。
20190715填表公式赋值操作18.png

  • 4.修改名称为“赋值_商品明细”。


  • 5.执行条件、执行方式均默认。


  • 6.当“申请单号”的值发生改变时,不需要弹出对话框,直接将数据源中匹配的数据返回到明细中。数据源选择“模板数据接口”——“采购申请单”的数据接口“采购申请商品明细(申请单号)”,参数绑定“采购入库单”的“申请单号”,不勾选“显示对话框”。


  • 7.每次修改“申请单号”后,对明细进行插入赋值前会将之前的记录进行删除。对目标表“本表单”的明细执行“插入”赋值,勾选“插入前删除所有行(列)”。
20190715填表公式赋值操作19.png

  • 8.如果不勾选“插入前删除所有行(列)”,第二次执行时不会删除之前的数据,会出现重复数据的情况。


  • 9.给目标数据项赋数据源中对应的值。
20190715填表公式赋值操作20.png

  • 10.单击【确定】后保存,调试一下效果。



了解匹配条件的使用

在“采购入库单”中,给商品明细中已有数据的行赋值——“入库批次”。

  • 1.为了使明细中的“商品编号”的值发生变化时,能执行赋值操作。因此,进入“采购入库单”模板设计界面,单击【填表公式】,在弹出的“填表公式管理”对话框中选择“值变化”事件,并添加明细的数据项“商品编号”以及“赋值”操作。
20190715填表公式赋值操作21.png

  • 2.修改名称为“赋值_入库批次”。


  • 3.执行条件、执行方式、数据源均默认。


  • 4.对目标表“本表单”的明细执行“更新操作”。
20190715填表公式赋值操作22.png

  • 5.当明细中的“商品编号”有内容时,才可以给对应行的数据项“入库批次”赋值——本表单“采购入库单”的“单据日期”。匹配条件为“本表单.明细.商品编号 <> 常量.否 或者 本表单.明细.商品编号 <> 常量.空 或者 本表单.明细.商品编号 <> ""”。


  • 6.在更改“商品编号”后,不满足匹配条件,就会清空对应行的“入库批次”的值。因此,勾选“清空没有匹配上的”。


  • 7.单击【确定】后保存,调试一下效果。