本文介绍了在销售管理系统参数设置价格来源检查或限价控制服务时,需注意控制时点的不同对设置的影响。在保存时,可直接设置控制条件。但在提交或审核时,因数据包非完整,需特别引用自定义字段。通过BOS配置恒成立校验规则可引入自定义字段,但需注意版本兼容问题,需升级至特定版本。
在销售管理系统参数--价格参数中可以设置启用价格来源检查或者限价控制服务,这两个控制服务可以设置控制条件,执行时按照设置的控制条件来是否执行。相关控制的介绍可以参考:https://vip.kingdee.com/article/32939?productLineId=1&lang=zh-CN 。比如在销售订单上新增了一个自定义字段 F_RATK_Combo_re,设置条件 F_RATK_Combo_re='1' 的时候才执行检查,就可以按以下截图进行设置
但需要注意的是控制时点的不同,设置方面会有不一样,本文主要讲述的就是这一点。
当控制时点是保存的时候,即保存单据的时候执行,在保存操作中,系统获取的数据包是单据完整的数据包,包括自定义字段在内,所有字段都包含其中,因此不需要再做其他设置,直接按上述截图设置控制条件即可直接应用
当控制时点是提交或审核的时候则有所不同,提交或审核操作的数据包并不是完整的数据包,除了单据的必要字段之外,只包含操作里引用的以及操作服务端插件里主动引用的字段。自定义字段一般不会包含其中,所以,如果仅仅按上述截图设置,不做其他引用,服务执行的时候,从数据包获取不到相关自定义字段,就会报错,如下图所示:
解决方法就是在提交或审核操作里主动引用一下自定义字段进数据包,引用的方法有两种,第一种是操作的服务端插件代码里引用,但客户一般并不会加二开插件,因此这种方法在客户环境中一般不使用。此处着重介绍第二种方法,即通过在BOS里对提交或审核操作配置一个恒成立的校验规则,校验规则的使用对象是自定义字段,通过这个方法变通将自定义字段引入到数据包中,就可以了,配置如下截图所示。
特别说明一下,由于版本代码兼容的问题,在2024年2月补丁版本之前,这个方法依然是不生效的,如果要设置自定义字段参与控制条件,请注意版本,升级到企业版PT-156001 [8.2.0.20240229] 或 标准版 PT-155002 [8.2.0.20240301] 及以上更高版本后再应用。
在提交操作里配置一个单据合法性校验规则,配置校验表达式自定义字段=自定义字段:F_RATK_Combo_re = F_RATK_Combo_re,这个表达式的设置就能将自定义字段引入到数据包,并且这个表达式是恒成立的,此处需要特别注意,校验里 不要勾选 校验表达式为真时提示,这样这个校验规则就永远不会弹出提示,也不会影响录单操作。
配置后,提交时就正常按控制条件进行了服务校验,测试结果如图所示:
推荐阅读