本文介绍了如何配置单据系统以自动获取单据体中的最大值和最小值,并显示在单据头。通过设置单据体和单据头的字段属性、服务规则及公式,实现了实时更新最大值和最小值的功能,且能控制字段的锁定性和是否存储到数据库。最终实现了根据单据体输入的实时更新单据头的最大值和最小值的目标。
本帖子演示如何获取单据体最大值及最小值。
原始需求贴:
取检验单检测值最大值最小值时报错
https://vip.kingdee.com/article/25824
因为配置要有些过程,整理个分享帖。
先上实际的运行效果图:
单据界面 单据体分录有4行 分别是1.1、2.2、3.3、4.4
随着没录入一个数值,单据头的 小数max 和 小数 min在不停的变化。
具体的配置过程,
新建立了一个单据 基础基对象模板
单据体拖入一个小数字段,设置字段属性“即时触发更新事件”
单据头拖入2个小数字段,
小数max,设置值更新事件(此字段无需勾选“即时触发更新事件”,是通过单据体实体服务规则触发值此字段的更新事件)
设定“计算定义公式的值并填写到指定列”服务,
F_PAIK_Decimal1 = max ( F_PAIK_Decimal )
单据头.小数max = max ( 单据体.小数 )
小数min 同样类似设置 (此字段同样无需勾选“即时触发更新事件”,也是通过单据体实体服务规则触发值此字段的更新事件)
此2个小数字段可以设置字段的锁定性 新增时锁定、及修改时锁定,
使用户界面上不可录入值,
同时也可以根据实际情况,控制是否需要进行数据库存储(如无需数据库表存储,不设置字段名即可),这边测试时,设置了字段的只显示不存储,同时也控制了字段的新增时及修改时锁定,
剩下的 单据体设置触发2个字段的更新服务即可
单据体 增加“实体服务规则”设置“调用字段值更新服务”触发单据头的 “小数max”和“小数min” 2个字段的值更新。
实体服务规则的运行条件设置为
F_PAIK_Decimal = F_PAIK_Decimal ,
即单据体.小数 = 单据体.小数。
ok 配置完毕。
运行时即为开始时的截图效果。
已经获取到了单据体输入的最大值最小值。
目的达到
ok
the end
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *