Python保存添加校验器原创
23人赞赏了该文章
1,536次浏览
编辑于2021年12月30日 20:36:00
import clr clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') from Kingdee.BOS.Core import * from Kingdee.BOS.Core.Metadata.EntityElement import * from Kingdee.BOS.Core.Validation import * from Kingdee.BOS.Log import Logger def OnAddValidators(e): validator=ValidateProDucMain() validator.EntityKey = "FBillHead" validator.AlwaysValidate = True e.Validators.Add(validator) class ValidateProDucMain(AbstractValidator): def Validate(self, dataEntities, validateContext,ctx): for bill in dataEntities: Logger.Info("LZZ44","4444444444") billEntrys = bill.DataEntity["Entity"]; if billEntrys is None or len(billEntrys)<=1: Logger.Info("LZZ","33") return Logger.Info("LZZ55","4444444444") countMain = list(filter(lambda x:str(x["ProductType"]) == '1', billEntrys)); Logger.Info("LZZ33",str(len(countMain))) if len(countMain) > 1: Logger.Info("LZZ","44") billId=str(bill["Id"]) info = ValidationErrorInfo("ProductType",billId, bill.DataEntityIndex,bill.RowIndex,billId,"表体存在多行主产品","表体产品类型校验",ErrorLevel.Error) validateContext.AddError(None,info)
推荐阅读