二开案例-【Python】实现校验生产订单行号重复不允许保存
由于未知原因,客户生产订单数据会有部分行号重复的保存成功,造成下达时,后续成本归集数据异常,因此通过Python插件实现生产订单保存时,出现行号重复时,不允许保存。该Python插件注册在生产订单保存操作上,如图:
代码如下:
import clr clr.AddReference('System') clr.AddReference('System.Data') clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') from System import * from System.Data import * from System.Collections.Generic import List from Kingdee.BOS import * from Kingdee.BOS.Core import * from Kingdee.BOS.Log import * from Kingdee.BOS.Core.Validation import * def OnAddValidators(e): extMoProducTypeValidator=ExtMoProducTypeValidator() extMoProducTypeValidator.EntityKey="FBillHead" extMoProducTypeValidator.TimingPointString=",Save" e.Validators.Add(extMoProducTypeValidator) class ExtMoProducTypeValidator(AbstractValidator): def Validate(self,dataEntities,validateContext,ctx): for bill in dataEntities: billId=str(bill["Id"]); entryData=bill.DataEntity["TreeEntity"]; list1=[] for entryInfo in entryData: seq=entryInfo["Seq"]; if seq in list1: errorInfo=ValidationErrorInfo(" ",billId,bill.DataEntityIndex,bill.RowIndex,billId,"明细表体存在分录行号重复,不允许保存","",ErrorLevel.Error) validateContext.AddError(None,errorInfo) else: list1.append(seq);
二开案例-【Python】实现校验生产订单行号重复不允许保存
由于未知原因,客户生产订单数据会有部分行号重复的保存成功,造成下达时,后续成本归集数据异常,因此通过Python插件实现生产订单...
点击下载文档
本文2024-09-23 04:25:42发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-165242.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章