单据体字段一致性校验Python试例

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

单据体字段一致性校验Python试例

    客户的某些特殊场景要求单据体的某些字段(假设为字段A)都必须相同才能保存,这种一般可以通过编写C#校验器插件代码(继承至 Kingdee.BOS.Core.Validation.AbstractValidator  ),遍历所有单据体分录,对所有分录的字段A的值进行排重后计数,当数量大于1时添加校验提示信息。通常C#代码插件比Python插件繁杂且需要.NET技术,本文将介绍如何通过Python插件处理。

    下面以销售订单的明细信息中的备注字段为例演示如何配置Pyhton插件,首先扩展销售订单,保存操作上配置一个校验规则,如下图1-1所示:

image.webp

图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所示 :

image.webp

图1-2


image.webp

图1-3

单据体字段一致性校验Python试例

客户的某些特殊场景要求单据体的某些字段(假设为字段A)都必须相同才能保存,这种一般可以通过编写C#校验器插件代码(继承至 Kingdee....
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息