单据体字段一致性校验Python试例
客户的某些特殊场景要求单据体的某些字段(假设为字段A)都必须相同才能保存,这种一般可以通过编写C#校验器插件代码(继承至 Kingdee.BOS.Core.Validation.AbstractValidator ),遍历所有单据体分录,对所有分录的字段A的值进行排重后计数,当数量大于1时添加校验提示信息。通常C#代码插件比Python插件繁杂且需要.NET技术,本文将介绍如何通过Python插件处理。
下面以销售订单的明细信息中的备注字段为例演示如何配置Pyhton插件,首先扩展销售订单,保存操作上配置一个校验规则,如下图1-1所示:
图1-1
上文本中的表达式的文本为:len(set(map(lambda x:x.FEntryNote, FSaleOrderEntry))) > 1 ,这里说明下表达式中的set方法会自动排除重复数据,如果是需要过滤掉备注为空的值(即备注为空的记录不参与校验),则可以添加filter方法,表达式为:len(set(map(lambda y: y.FEntryNote, (filter(lambda x: x.FEntryNote.strip() != '', FSaleOrderEntry))))) > 1 。
BOS IDE保存上面Python插件代码后,登录星空业务系统,创建新的销售订单,当分录备注不一样时,保存会有提示,当备注相同时,保存通过,分别如下图1-2和图1-3所示 :
图1-2
图1-3
单据体字段一致性校验Python试例
客户的某些特殊场景要求单据体的某些字段(假设为字段A)都必须相同才能保存,这种一般可以通过编写C#校验器插件代码(继承至 Kingdee....
点击下载文档
本文2024-09-16 17:16:01发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-14599.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章