#引入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.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 System.Collections.Generic import * from Kingdee.BOS.App.Data import * from Kingdee.BOS.ServiceHelper import * # 执行保存操作前 def BeforeDoSaveExecute(e): if e.DataEntities.Count > 0: # raise Exception(JsonUtil.Serialize(e.DataEntities)) for item in e.DataEntities: # 收款计划 FContractPlan = item["FContractPlan"] # 财务信息 CRM_ContractFIN = item["CRM_ContractFIN"][0] # 合同金额 FCONTRACTAMOUNT = CRM_ContractFIN["FCONTRACTAMOUNT"] removeList = [] for idx, planItem in enumerate(FContractPlan): # 应收金额 planItem["FRECADVANCEAMOUNT"] = planItem["FRECADVANCERATE"] * FCONTRACTAMOUNT / 100 if planItem["F_CYG_Text"] == None or planItem["F_CYG_Text"] == "": removeList.append(idx) for idx in removeList: FContractPlan.RemoveAt(idx) # raise Exception(JsonUtil.Serialize(e.DataEntities))