Files
GateDge2023_ljy/05.长园/CYG.Python/CRM_Contract/BillEventPlugInEx.py
PastSaid fa480006a8 1
2024-07-16 10:33:50 +08:00

88 lines
4.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import clr
clr.AddReference("System")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.DataEntity")
clr.AddReference("Kingdee.BOS.App")
clr.AddReference("Kingdee.BOS.Contracts")
clr.AddReference("Kingdee.BOS.ServiceHelper")
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Metadata.EntityElement 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.Util import *
from System import *
from System.ComponentModel import *
from System.Collections.Generic import *
from System.Text import*
from Kingdee.BOS.ServiceHelper import *
def AfterCreateNewData(e):
details = this.View.BusinessInfo.GetEntity("FContractPlan")
entrys = this.View.Model.GetEntityDataObject(details)
dataJson = [{"name":"预付","FRecAdvanceRate":0}
,{"name":"发货","FRecAdvanceRate":0}
,{"name":"到货","FRecAdvanceRate":0}
,{"name":"验收","FRecAdvanceRate":0}
,{"name":"质保","FRecAdvanceRate":0}]
# "预付" if FMaterialSeq == 1 else "发货" if FMaterialSeq == 2 else "到货" if FMaterialSeq == 3 else "验收" if FMaterialSeq == 4 else "质保"
if entrys != None and entrys.Count > 0:
contractAmount = this.View.Model.GetValue("FCONTRACTAMOUNT")
countRecAdvanceRate = 0
for entry in entrys:
rowIndex = this.View.Model.GetRowIndex(details, entry)
if rowIndex > 4:
continue
entry["F_CYG_Text"] = dataJson[rowIndex]["name"]
recAdvanceRate = dataJson[rowIndex]["FRecAdvanceRate"]
countRecAdvanceRate = countRecAdvanceRate + recAdvanceRate
entry["FRecAdvanceRate"] = recAdvanceRate
entry["FRecAdvanceAmount"] = recAdvanceRate / 100 * contractAmount
# def EndOperationTransaction(e):
# if this.FormOperation.OperationId == 8:
# SaveEndUpdateCrmContractId(e)
# # 保存时赋值销售合同id
# def SaveEndUpdateCrmContractId(e):
# for data in e.DataEntitys:
# billId = data["Id"]
# def AfterCreateNewData(e):
# details = this.View.BusinessInfo.GetEntity("FContractPlan")
# entrys = this.View.Model.GetEntityDataObject(details)
# dataJson = [{"name":"预付","FRecAdvanceRate":0}
# ,{"name":"发货","FRecAdvanceRate":0}
# ,{"name":"到货","FRecAdvanceRate":0}
# ,{"name":"验收","FRecAdvanceRate":0}
# ,{"name":"质保","FRecAdvanceRate":0}]
# # "预付" if FMaterialSeq == 1 else "发货" if FMaterialSeq == 2 else "到货" if FMaterialSeq == 3 else "验收" if FMaterialSeq == 4 else "质保"
# if entrys != None and entrys.Count > 0:
# contractAmount = this.View.Model.GetValue("FCONTRACTAMOUNT")
# countRecAdvanceRate = 0
# for entry in entrys:
# rowIndex = this.View.Model.GetRowIndex(details, entry)
# if rowIndex > 4:
# continue
# entry["F_CYG_Text"] = dataJson[rowIndex]["name"]
# recAdvanceRate = entry["FRecAdvanceRate"]
# recAdvanceRate = dataJson[rowIndex]["FRecAdvanceRate"] if recAdvanceRate == 0 else recAdvanceRate
# countRecAdvanceRate = countRecAdvanceRate + recAdvanceRate
# entry["FRecAdvanceRate"] = recAdvanceRate
# entry["FRecAdvanceAmount"] = recAdvanceRate / 100 * contractAmount
# if countRecAdvanceRate == 0:
# this.View.Model.SetValue("FRecAdvanceRate", 100, 0)
# this.View.Model.SetValue("FRecAdvanceAmount", contractAmount, 0)
# def DataChanged(e):
# if e.Field.Key == "FRecAdvanceRate":
# contractAmount = this.View.Model.GetValue("FCONTRACTAMOUNT")
# recAdvanceRate = e.NewValue
# rowIndex = e.Row
# recAdvanceAmount = recAdvanceRate * contractAmount / 100
# this.View.Model.SetValue("FRecAdvanceAmount", recAdvanceAmount, rowIndex)