#引入clr运行库 import clr #添加对cloud插件开发的常用组件引用 clr.AddReference('System') clr.AddReference('System.Data') clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') clr.AddReference('Kingdee.BOS.App') clr.AddReference('Kingdee.BOS.Contracts') clr.AddReference('Kingdee.BOS.DataEntity') clr.AddReference('Kingdee.BOS.ServiceHelper') #dairycloud基础库中的常用实体对象(分命名空间导入,不会递归导入) from Kingdee.BOS.Core import * from Kingdee.BOS.Util import * from Kingdee.BOS.Core.Bill import * from Kingdee.BOS.Core.Bill.PlugIn import * from Kingdee.BOS.Orm.DataEntity import * from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import * from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import * from System import * from System.Data import * from Kingdee.BOS.App.Data import * from System.Collections.Generic import List from Kingdee.BOS.ServiceHelper import * # def OnPreparePropertys(e): # e.FieldKeys.Add("F_CYG_Worktype") def EndOperationTransaction(e): # 保存8提交9审核1反审核26 if this.FormOperation.OperationId == 8: if e.DataEntitys != None and e.DataEntitys.Count > 0: idList = set(map(lambda x : str(x["Id"]),e.DataEntitys)) sql ="""/*dialect*/ --更新生产订单 UPDATE t1e SET t1e.FMJDZDZID = t0.FMJDZDZID FROM T_ENG_BOM t0 INNER JOIN T_PRD_MOENTRY t1e on t0.FID = t1e.FBOMID WHERE t0.FMJDZDZID != 0 AND t1e.FMJDZDZID != t0.FMJDZDZID AND t1e.FID IN ({0}) --更新生产用料清单 UPDATE t0 SET t0.FMJDZDZID = t1.FMJDZDZID FROM T_PRD_PPBOM t0 INNER JOIN T_ENG_BOM t1 on t0.FBOMID = t1.FID WHERE t1.FMJDZDZID != 0 AND t1.FMJDZDZID != t0.FMJDZDZID AND t0.FMOID IN ({0}) """.format(",".join(idList)) DBUtils.Execute(this.Context,sql)