【汇总】值更新与实体服务规则原创
金蝶云社区-黄志洪
黄志洪
111人赞赏了该文章 3.4万次浏览 未经作者许可,禁止转载编辑于2024年05月06日 08:58:12
summary-icon摘要由AI智能服务提供

本文介绍了“值更新”服务的概念,即在字段值改变时自动执行指定服务,适用于单一字段触发的场景。同时,阐述了实体服务规则的作用,通过定义规则处理复杂逻辑,提高执行效率。还列举了多种常用示例应用配置,并分享了前提条件不生效的解决方法及进阶开发技巧,包括自定义表达式函数、执行SQL等。最后,提供了基础资料与辅助资料字段取值的常见写法及案例链接。

概述

值更新:顾名思义当前字段的字段发生改变后,自动执行指定服务。“值更新”就是该类服务的执行时机触发点。
一般需要当前字段上勾选属性“即时触发值更新”,在焦点离开当前字段时就触发相关值更新服务。
适用于“单一字段触发的”、“值更新时机触发”的场景,例如,选择物料字段后,分别携带物料的基本单位、计量单位等属性到指定字段。这种场景就时候用值更新配置实现。
入口:单据字段属性上“值更新服务”

实体服务规则:表单的执行错综复杂,一个字段的改变引起一堆字段变化,将所有的逻辑变成一个个规则,复杂的事情都交给平台去处理:自动合并规则批量执行提高效率、智能执行减少重复执行,并且提供对动态语言的解析(IronPython)
例如,为了完成“当物料没有填写时,锁定数量”的简单需求,需要考虑物料值更新事件、新增行事件、单据加载事件等多种时机点的处理。采用实体服务规则,定义一个规则就可以解决,在调用服务时,指定该服务加载、新增行、值更新时机点要触发执行即可。

入口:单据头、子单据头、单据体、子单据体等实体上都有属性“实体服务规则”,根据你需要处理的目标字段所在实体,在对应实体上配置实体服务规则。

常用示例

应用配置
1、判断条件中,如何比较字段值2、日期字段计算3、多选基础资料如何判断是否为空
4、判断分录行是否新增的5、级联值更新6、表达式中的汇总计算
7、操作服务的前置条件8、表达式的系统变量9、统计单据体已录数据的总行数
10、数值字段取绝对值11、有条件的进行合计12、实体服务规则中的辅助资料
13、求平方求立方14、小数取整 向下取整、四舍五入、向上取整15、表达式使用in操作
16、基础资料的过滤场景
17、基础资料.联动查询(GetValue)18、获取分录行的最大日期
19、获取单据体首行的某个字段的值20、保存前校验单据体的某列数据是否全部相等21、单据体满足条件的基础资料字段合并到单据头文本字段
22、实现有效期至=生产日期+保质期-1天的效果23、当单据体存在满足某种条件的分录时隐藏某个字段24、获取基础资料的分组数据
25、表达式不支持中文字符?26、操作提示信息
27、获取[基础资料].[辅助资料]的值
28、获取日期的年月日




精彩分享
前提条件不生效该怎么办(jiaxu_lin分享)遍历单据体获取数据(周少斌分享)
进阶开发
1、自定义表达式函数2、执行SQL并返回值3、python插件之单据插件实现加载值更新事件
4、中文环境获取英文词条5、表达式测试说明

典型场景:

1、基础资料与辅助资料字段取编码、名称经常写错,而且看示例有多种写法。

关于辅助资料、基础资料取其属性字段有多种写法,这里提供最常见的写法(便于初学者记忆),并将基础资料与辅助字段进行对比说明。

如有涉及基础资料.基础资料或者基础资料.辅助资料等第二层属性的获取,需要了解一个基本因素。

一级节点【基础资料】的数据包,为该基础资料的所有引用属性的精简数据包。

二级节点【辅助资料】的数据包,是格式固定的精简数据包,仅包含内码、编码和名称三个固定属性。

【二开案例.表达式.前置条件.获取[基础资料].[辅助资料]的值】https://vip.kingdee.com/article/190161562286809856

image.png

image.png