上一页
场景:在采购订单中,原有的明细修改,列表多选情况下,没有历史价格的明细不会刷新
解释:采购单中商品的单价填充是根据历史价格中最新的和最高的来匹配,当没有历史价格时,可以手工填写,并且在列表多选的情况下,手工填写的价格不会被冲掉
方法1
1. 建立采购单
为了方便展示,临时表没有隐藏
2. 建立视图
查找历史数据中最新和最大的单价需要建立视图
最新的单价信息:手工编写sql语句,因为单号是递增的,所以寻找最大的单号,即最新的价格信息
最大的单价:在最新单价信息的基础上,找出最大的单价
3. 建立表间公式
q单价公式用于从视图数据中查询最新和最大单价
q复制公式用于将明细表中的数据复制到临时表,主要是用于记录没有历史数据、手工填写单价信息的产品信息(原因是因为当执行q单价时,会将填充区域清空,手工填写的单价信息也会被清空,所以需要临时表来保存清空前的单价数据)
q提取公式用于将填写的单价填充到明细中
4. 建立报表命令
当单元格编辑后(本文指列表选择时),触发表间公式,有历史数据的从视图中选取(q单价),没有历史数据的从临时表中提取(q提取)
该报表命令用于当编辑单价时,就将单价信息保存到临时表中,以便后来的提取
5. 效果
选取所有的产品信息,此时水杯和本子没有单价信息,其他商品有历史单价信息
手工填写本子的单价,临时表中会记录此时的单价信息
列表多选时,手工填写的单价信息不被冲掉
方法2
上述的方法比较繁琐,原因在于建立表间公式的时候选择了手动执行,然后通过报表命令来触发;下面来阐述另一种方法:
建立采购单和建立视图和方法1一样,建立表间公式q单价如下
和方法1的q单价公式一样,只是改成了筛选条件改变后自动执行,当列表进行多选时,筛选条件在改变,而没有历史价格,手工填写价格的产品筛选条件并没有被改变,所以数据不会被冲掉
作者:严双圆 创建时间:2022-05-30 09:22
最后编辑:魏仁友 更新时间:2023-10-27 14:27
最后编辑:魏仁友 更新时间:2023-10-27 14:27