Python快速处理业务单据仓位校验器的添加和移除
一、【业务需求】
仓库启用了仓位,单据在保存的时候会提示仓位必录,如入库单,但是有些业务场景单据是通过对接第三方系统生成,需要把仓位必录校验转移到提交或者审核的时候进行处理
二、【功能分析】
仓位必录的校验是独立的校验器处理的,在各个单据的保存插件中默认预置了该校验器,如果需要将校验从保存操作转移到提交或者审核进行处理,则可通过Python脚本简单处理
参考文章:
【客户需求】单据操作如何增加或移除通用校验器(python)
以其他出库单为例:
1、保存操作移除仓位校验
clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') from Kingdee.BOS import * from Kingdee.BOS.Core import * def OnAddValidators(e): vdts = e.Validators; vdt = list(filter(lambda x: x.__class__.__name__ == 'StockLocValueValidator', vdts)); j=len(vdt); if (j> 0): for i in range(0,j): e.Validators.Remove(vdt[i]);
2、审核操作添加仓位校验
clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') clr.AddReference('Kingdee.K3.BD.App.Core') clr.AddReference('Kingdee.K3.SCM.App') clr.AddReference('Kingdee.K3.MFG.App') from Kingdee.BOS import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.Metadata import * from Kingdee.K3.BD.App.Core import * from Kingdee.K3.BD.App.Core.Validator import * from Kingdee.K3.SCM.App import * from Kingdee.K3.SCM.App.Validator import StockLocValueValidator def OnAddValidators(e): outLocValueValidator = StockLocValueValidator() outLocValueValidator.AlwaysValidate = True outLocValueValidator.EntityKey = "FEntity" # 单据体明细标识 outLocValueValidator.MaterialName = "MaterialID" # 物料编码绑定实体属性 outLocValueValidator.StockName = "StockId" # 仓库绑定实体属性 outLocValueValidator.StockLocKey = "FStockLocId" # 仓位标识 e.Validators.Add(outLocValueValidator)
好功能
Python快速处理业务单据仓位校验器的添加和移除
一、【业务需求】仓库启用了仓位,单据在保存的时候会提示仓位必录,如入库单,但是有些业务场景单据是通过对接第三方系统生成,需要把仓位...
点击下载文档
本文2024-09-16 19:05:23发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-26321.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章