1. 前言
在实际仓库作业中,条码枪扫描是最高效的录入方式。扫描条码后,系统自动识别商品并填入信息,不需要手动搜索选择。但如果没有实体条码枪,或者还在开发测试阶段,能不能模拟这个效果?
本教程讲解通过在商品条码输入框中输入条码编号,触发值变化事件,自动查询商品信息并填入明细表的方法,实现模拟条码扫码的效果。
2. 操作步骤
(1)在商品信息模板中创建数据接口
数据接口从哪个模板取数据,就去哪个模板中创建。这里数据来源于商品信息,所以需要在商品信息模板中创建数据接口。
① 打开"商品信息"模板,进入设计页面,在数据接口中新建一个数据接口,命名为"条码查询"。数据源选择本模板,数据列选择"商品编号"、"商品名称"、"规格型号"、"计量单位"、"参考成本"。

② 点击"添加参数",参数名称设为"条码",类型选择"文本"。

③ 设置过滤条件:本模板的"商品编号"字段 等于 参数"条码"。

(2)在入库单中添加商品条码数据项
目标: 在入库单的明细表上方添加一个商品条码输入框,用于录入条码。
① 打开"采购入库单"模板,进入设计页面,在基本信息中添加一个数据项,命名为"商品条码"。

(3)添加值变化事件
目标: 在使用页面中输入或扫描条码后,自动触发查询并填入明细表。
① 在设计页面中打开填表公式,选中"值变化"事件,点击"添加数据项",选择"商品条码"。

② 在该数据项下点击"添加公式",选择"赋值公式",目标表选择"明细",执行选择"更新操作"。

(4)选择数据接口并绑定参数
① 在赋值公式的数据源设置中,选择"模板数据接口",选择刚才在商品信息模板中创建的"条码查询"数据接口。

② 将参数"条码"绑定到当前表单的"商品条码"字段,并取消勾选"显示对话框"。

(5)设置匹配条件并赋值
① 设置匹配条件:明细表的"商品编号" 等于 数据接口的"商品编号"。这样在使用页面中再次扫码同一商品时,不会新增行,而是更新已有行。

② 勾选"不存在时新增一行"。当明细表中没有该商品时,自动新增一行填入。

③ 在赋值公式中建立字段对应关系,其中数量赋值为
本表单.明细.数量 + 1,其余字段按常规对应设置。
使用效果: 回到使用页面,在商品条码输入框中输入条码,商品信息自动填入明细表;再次扫码同一商品,数量加1,不会重复新增行。

(6)注意事项
① 需要触发填表公式,商品条码值必须要发生变化。如果是手动输入,输入完成后离开输入框即可触发;如果是条码枪扫描,扫描完成后自动触发。
② 对明细进行更新时,需要填写匹配条件,不填写匹配条件时会更新多行明细记录,导致数据错误。
3. 核心要点回顾
(1)数据接口需要在数据来源的模板(商品信息)的设计页面中创建,不是在当前表单中新建。
(2)通过值变化事件监听商品条码输入,在设计页面配置好公式后,使用页面中扫码即自动触发查询。
(3)有参数数据接口将输入的商品条码作为参数,过滤查询对应的商品信息。
(4)匹配条件控制是新增行还是更新已有行,配合"不存在时新增"使用效果更佳。