Files
GateDge2023_ljy/05.长园/CYG.Python/CRM_Contract/OperationEvenPlugInEx.py

62 lines
2.9 KiB
Python
Raw Permalink Normal View History

2024-05-15 13:56:09 +08:00
#引入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)
2025-07-24 09:17:12 +08:00
else:
if planItem["F_CYG_Text"] == "预付":
item["PlanPrepay"] = planItem["FRECADVANCEAMOUNT"]
item["PlanRatePrepay"] = planItem["FRECADVANCERATE"]
elif planItem["F_CYG_Text"] == "发货":
item["PlanDeliver"] = planItem["FRECADVANCEAMOUNT"]
item["PlanRateDeliver"] = planItem["FRECADVANCERATE"]
elif planItem["F_CYG_Text"] == "到货":
item["PlanArrive"] = planItem["FRECADVANCEAMOUNT"]
item["PlanRateArrive"] = planItem["FRECADVANCERATE"]
elif planItem["F_CYG_Text"] == "验收":
item["PlanCheck"] = planItem["FRECADVANCEAMOUNT"]
item["PlanRateCheck"] = planItem["FRECADVANCERATE"]
elif planItem["F_CYG_Text"] == "质保":
item["PlanQuality"] = planItem["FRECADVANCEAMOUNT"]
item["PlanRateQuality"] = planItem["FRECADVANCERATE"]
2024-05-15 13:56:09 +08:00
for idx in removeList:
FContractPlan.RemoveAt(idx)
# raise Exception(JsonUtil.Serialize(e.DataEntities))