9.3.1 赋值

操作:赋值

1.什么是赋值操作

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

2.添加赋值操作

进入模板设计界面,单击【填表公式】,弹出“填表公式管理”对话框,选择具体的事件后,在对话框底部单击【添加公式】按钮,在弹出的“请选择操作”对话框中双击“赋值”操作,选择刚添加的“赋值”操作,修改、完善公式。

3.赋值参数说明

赋值公式主要包含3部分:执行条件、数据源、操作。针对赋值公式,为了简单好记可以简称:什么时候(执行条件),针对谁(目标表),执行什么操作(更新还是插入),还可调用数据源,接下来看详细的参数;
①名称:先给新建的公式取一个便于识别的名称,如“赋值_客户信息”;
②执行条件:公式的【执行条件】是一个逻辑判断表达式,如果不满足,则整个公式都不执行,包括下面的“数据源”和“赋值操作”都不会被执行;
③执行方式:有顺序执行和并行执行,赋值操作特有,主要用于提高运行效率。
同一个事件下的填表公式,顺序执行是按照从上向下的顺序执行,并行执行是同时执行,譬如,同一事件下有多个填表公式“赋值1”在上和“赋值2”在下,若公式1设置为顺序执行,则先运行“赋值1”,再运行“赋值2”,若都公式1设置为并行执行,则“赋值1”和“赋值2”同时执行;
不同事件下的填表公式,顺序执行是按照事件触发的先后顺序依次执行,并行执行根据性能批量运行,譬如“赋值1”赋值后触发“赋值2”,“赋值1”设置顺序执行,则“赋值1”每运行一次即触发“赋值2”,设置并行执行后,则“赋值1”批量赋值后,在一定的时机运行“赋值2”提高效率;
当赋值的结果没有先后运算顺序时,使用并行执行能提高查询的效率,比如统计查询或者导航中;
④数据源:作用是给后续的操作提供数据,可从模板的数据接口、系统内设的全局数据接口、新建表单、打开表单、导入excel、摄像头扫码、上传文件、询问对话框、本表单明细等获取数据,并将获取到的数据传给后续的操作中使用,默认为无;
⑤对目标表:选择需要进行赋值操作的表单,默认为“本表单”,表单中有明细时也可以选择明细作为目标表。
⑥执行:对目标表⑤执行的操作,有插入和更新操作。当目标表为“本表单”时,只能执行“更新”赋值;当目标表为“本表单”的明细时,可以执行“插入”赋值或者“更新”赋值。
插入操作:在明细中插入新的数据。选择插入操作,目标表为明细时,显示“插入前删除所有的行(列)”选项,勾选该选项,插入明细数据时,先清空明细数据后再插入,不勾选该选项时,直接在原有的记录下插入新的数据;
当事件为明细数据项的单元格按钮单击事件时,显示“数据源首条记录替换当前行列”选项,勾选该选项,插入记录时,数据源的第一条记录会替换表单中操作的行或者列,不勾选该选项时,当前行空白,数据从选中行的下一行开始插入;
更新操作:更新明细的数据,可更新具体数据项的值。选择更新操作,当目标表为明细,填写“匹配条件”后,显示“不存在时新增一行”选项,不勾选该选项时,只更新明细中符合匹配条件的记录,勾选选项后,先匹配更新明细中符合条件的记录,当明细中不存在该记录时新增一行新的记录到明细中;当目标表为明细,不填写“匹配条件”则更新明细中所有的记录;
清空没有匹配上的:选择更新操作,当目标表为明细,填写“匹配条件”后,在“目标数据项”下显示“清空没有匹配上”选项,勾选该选项,给目标数据项赋值后,当事件触发时,目标表中不满足匹配条件的数据项将被清空;
⑦赋值:“目标数据项”列表会显示本表单或者明细表的数据项,可以给“目标数据项”赋一个具体的值,也可以是一个可执行的表达式,单击【×】按钮可删除绑定的表达式,单击【↑】上移赋值,单击【↓】下移赋值。给“目标数据项”的操作有3种:填入值、填入公式、填入数字、按行[列]匹配;
填入值:系统默认,给“目标数据项”填入“赋值表达式”的结果,填入值的作用类似“=”,因此表达式中不必再填写“=”;
填入公式:在填表表达式中可使用“单元格的公式”。比如要将表单的A1和A2的值相加填入本字段,则在赋值表达式中填入公式“=A1+A2”,即输入“”计算后的值。
填入数字:格式用于设定该字段的单元格格式。比如要设置该字段的单元格格式为货币格式,则在赋值表达式中填入“¥#,##0.00;¥-#,##0.00”,即“”内设置的格式。
按行[列]匹配:一般在交叉表中用到,用了“按行列匹配”后,无需写匹配条件,根据行标题和列标题就可以自动匹配数据源的行列和目标明细中的行列,对目标数据项进行赋值。
不触发值改变若目标数据项设置了“值变化”事件,勾选该项,目标字段在执行该赋值操作后,不会引起该数据的值变化事件。值变化事件-不触发值变化
⑧数据源未查出数据时清空填报的数据项对目标表进行“更新”赋值时,该设置才可见。勾选后,若数据源不存在数据,目标字段的值会被清空;倘若未勾选该项,当数据源不存在数据时,目标字段的值不会被清空。

4.应用案例

4.1执行条件的使用

4.2 明细插入操作

4.3 明细更新操作

2022-08-19
46 42