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))
|