生产订单通过Python脚本实现一个校验器原创
31次浏览
编辑于2024年06月06日 15:06:26
示例为在生产订单保存操作上添加一个检验器,实现校验单据体只能存在一条主产品
import clr clr.AddReference('System') clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') from System import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.Validation import * from Kingdee.BOS.Log import Logger def OnAddValidators(e): validator = OneValidator() validator.EntityKey = "FBillHead" validator.AlwaysValidate = True e.Validators.Add(validator) class OneValidator(AbstractValidator): def Validate(self, dataEntities, validateContext,ctx): for bill in dataEntities: entrys = bill["TreeEntity"]#生产订单明细实体 num = 0 for entry in entrys: seq = entry["Seq"]#序号 productType = entry["ProductType"]#产品类型 if (productType == "1") : if(num > 0): billId = str(bill["Id"]) msg = '''当前生产订单第{0}行主产品类型重复,请检查'''.format(seq) info = ValidationErrorInfo("",billId, bill.DataEntityIndex,seq,billId, msg,"表体校验",ErrorLevel.Error) validateContext.AddError(None,info) num = num + 1