aa
This commit is contained in:
132
05.长园/CYG.Python/AR_Write_Off/AutoWriteOffWizardEditEx.py
Normal file
132
05.长园/CYG.Python/AR_Write_Off/AutoWriteOffWizardEditEx.py
Normal file
@@ -0,0 +1,132 @@
|
||||
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")
|
||||
clr.AddReference("Kingdee.K3.FIN.AP.Business.PlugIn")
|
||||
|
||||
from Kingdee.BOS import*
|
||||
from Kingdee.BOS.Util import *
|
||||
from Kingdee.BOS.Core 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.CommonFilter import *
|
||||
from System import *
|
||||
from System.ComponentModel import*
|
||||
from System.Collections.Generic import*
|
||||
from System.Text import*
|
||||
from Kingdee.BOS.ServiceHelper import *
|
||||
from Kingdee.K3.FIN.AP.Business.PlugIn import *
|
||||
|
||||
def WizardStepChanging(e):
|
||||
if e.OldWizardStep.Key == "FWizard1" and e.NewWizardStep.Key == "FWizard2" and e.Cancel == False:
|
||||
dieObjs = this.DebitDate.Values;
|
||||
for dObj in dieObjs:
|
||||
if dObj != None and dObj.TheIsMatch:
|
||||
billId = dObj.BillId
|
||||
|
||||
checkSqlL = """/*dialect*/
|
||||
SELECT t3e.FENTRYID AS 'ENTRYID'
|
||||
,t1e.FSRCBILLID,t3.FBILLNO
|
||||
,t3e.FALLAMOUNT,t3e.FALLAMOUNTFOR
|
||||
,t3e.FTAXAMOUNT,t3e.FTAXAMOUNTFOR
|
||||
,t3e.FNOTAXAMOUNT,t3e.FNOTAXAMOUNTFOR
|
||||
,t3e.F_CYG_TECost
|
||||
,t3e.F_CYG_TEAmount
|
||||
,t3e.F_CYG_TECBCost
|
||||
,t3e.F_CYG_TECBAmount
|
||||
FROM T_AR_RECMACTHLOG t1
|
||||
INNER JOIN T_AR_RECMACTHLOGENTRY t1e on t1.FID = t1e.FID
|
||||
INNER JOIN T_AR_RECMACTHLOGENTRY t2e on t2e.FID = t1e.FID
|
||||
INNER JOIN T_AR_RECEIVABLE t3 on t3.FID = t1e.FSRCBILLID
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FID = t3.FID AND t3e.FSEQ = t0.FSEQ
|
||||
WHERE 1 = 1
|
||||
AND t2e.FSRCBILLID = {0}
|
||||
AND t2e.FSOURCEFROMID = 'AR_receivable'
|
||||
AND t1e.FISADIBILL = 1
|
||||
AND t1.FMATCHFIELDNAME = 'FMatchAmount'
|
||||
|
||||
""".format(billId)
|
||||
|
||||
checkObj = DBServiceHelper.ExecuteDynamicObject(this.Context,checkSqlL)
|
||||
|
||||
if checkObj != None and checkObj.Count > 0:
|
||||
sqlL = """/*dialect*/
|
||||
DECLARE @billId int
|
||||
SET @billId = {0}
|
||||
;WITH #财务应收单 AS (
|
||||
SELECT t0.FBILLNO AS '财务单据编号'
|
||||
,t0.FID,t0e.FENTRYID,t0e.FSRCROWID,t0e.FSEQ
|
||||
,t0e_lk.FSBILLID,t0e_lk.FSID
|
||||
FROM T_AR_RECEIVABLE t0
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY_LK t0e_lk on t0e_lk.FENTRYID = t0e.FENTRYID
|
||||
WHERE 1=1
|
||||
AND t0e_lk.FSTABLENAME = 't_AR_receivableEntry'
|
||||
AND t0.FID = @billId
|
||||
AND t0.FDOCUMENTSTATUS = 'C'
|
||||
)
|
||||
, #暂估应收单 AS (
|
||||
SELECT tt.财务单据编号
|
||||
,tt.FID AS '财务ID'
|
||||
,tt.FSEQ
|
||||
,tt.FENTRYID AS '财务ENTRYID'
|
||||
,t0.FBILLNO AS '暂估单据编号'
|
||||
,t0.FID AS '暂估ID',t0e.FENTRYID AS '暂估ENTRYID'
|
||||
,t0e.FCOSTAMTSUM ,t0e.FBASICUNITQTY
|
||||
,CAST(t0e.FCOSTAMTSUM / t0e.FBASICUNITQTY AS decimal(23,6)) AS '暂估成本价'
|
||||
,t1.FID AS '暂估冲回ID',t1e.FENTRYID AS '暂估冲回ENTRYID'
|
||||
,t1.FBILLNO AS '暂估冲回单据编号'
|
||||
,t1e.FCOSTAMTSUM 'FCOSTAMTSUM1',t1e.FBASICUNITQTY 'FBASICUNITQTY1'
|
||||
,CAST(t1e.FCOSTAMTSUM / t1e.FBASICUNITQTY AS decimal(23,6)) AS '暂估冲回成本价'
|
||||
FROM #财务应收单 tt
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY t0e on tt.FSBILLID = t0e.FID AND tt.FSID = t0e.FENTRYID
|
||||
INNER JOIN T_AR_RECEIVABLE t0 on t0.FID = t0e.FID
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY t1e on t1e.FSRCROWID = t0e.FENTRYID
|
||||
INNER JOIN T_AR_RECEIVABLE t1 on t1.FID = t1e.FID
|
||||
WHERE 1=1
|
||||
AND t0.FDOCUMENTSTATUS = 'C'
|
||||
AND t1.FDOCUMENTSTATUS = 'C'
|
||||
)
|
||||
, #最终数据 AS (
|
||||
SELECT t1.*,t0.*
|
||||
FROM #暂估应收单 t0
|
||||
CROSS APPLY (
|
||||
SELECT t3e.FENTRYID AS 'ENTRYID'
|
||||
,t1e.FSRCBILLID,t3.FBILLNO--,t3e.FSEQ
|
||||
,t3e.FALLAMOUNT,t3e.FALLAMOUNTFOR
|
||||
,t3e.FTAXAMOUNT,t3e.FTAXAMOUNTFOR
|
||||
,t3e.FNOTAXAMOUNT,t3e.FNOTAXAMOUNTFOR
|
||||
--,t3e.FBASICUNITQTY
|
||||
,t3e.F_CYG_TECost
|
||||
,t3e.F_CYG_TEAmount
|
||||
,t3e.F_CYG_TECBCost
|
||||
,t3e.F_CYG_TECBAmount
|
||||
FROM T_AR_RECMACTHLOG t1
|
||||
INNER JOIN T_AR_RECMACTHLOGENTRY t1e on t1.FID = t1e.FID
|
||||
INNER JOIN T_AR_RECMACTHLOGENTRY t2e on t2e.FID = t1e.FID
|
||||
INNER JOIN T_AR_RECEIVABLE t3 on t3.FID = t1e.FSRCBILLID
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FID = t3.FID AND t3e.FSEQ = t0.FSEQ
|
||||
WHERE 1 = 1
|
||||
AND t2e.FSRCBILLID = t0.财务ID
|
||||
AND t2e.FSOURCEFROMID = 'AR_receivable'
|
||||
AND t1e.FISADIBILL = 1
|
||||
AND t1.FMATCHFIELDNAME = 'FMatchAmount'
|
||||
) t1
|
||||
)
|
||||
UPDATE t0e SET t0e.F_CYG_TECost = t1.暂估成本价
|
||||
,t0e.F_CYG_TEAmount = t1.FCOSTAMTSUM
|
||||
,t0e.F_CYG_TECBCost = t1.暂估冲回成本价
|
||||
,t0e.F_CYG_TECBAmount = t1.FCOSTAMTSUM1
|
||||
FROM T_AR_RECEIVABLEENTRY t0e
|
||||
INNER JOIN #最终数据 t1 on t1.ENTRYID = t0e.FENTRYID
|
||||
|
||||
""".format(billId)
|
||||
|
||||
raise Exception(sqlL);
|
||||
# DBServiceHelper.Execute(this.Context,sqlL)
|
||||
|
||||
129
05.长园/CYG.Python/CRM_Contract/ListEventPlugInEx.py
Normal file
129
05.长园/CYG.Python/CRM_Contract/ListEventPlugInEx.py
Normal file
@@ -0,0 +1,129 @@
|
||||
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 System import *
|
||||
from System.Collections.Generic import List
|
||||
from System.ComponentModel import *
|
||||
from Kingdee.BOS import*
|
||||
from Kingdee.BOS.Util import*
|
||||
from Kingdee.BOS.Core.DynamicForm import*
|
||||
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import*
|
||||
from Kingdee.BOS.Core.List.PlugIn import *
|
||||
from Kingdee.BOS.ServiceHelper import *
|
||||
|
||||
def BarItemClick(e):
|
||||
if e.BarItemKey.Equals("tbCRMCompute"):
|
||||
sqlL = """/*dialect*/
|
||||
;WITH #销售合同计算 AS (
|
||||
SELECT
|
||||
t0.FID,t0.FBILLNO
|
||||
,t0.FNAME as FName
|
||||
,t0.FDOCUMENTSTATUS
|
||||
,t0.F_CYG_ContractNoDL
|
||||
,'A' AS 'FFORBIDSTATUS'
|
||||
,t0f.FCONTRACTAMOUNT_LC AS 'FCONTRACTAMOUNT'
|
||||
,ISNULL(t4.FCONTRACTAMOUNT_X,0) AS 'FCONTRACTAMOUNT_X'
|
||||
,ISNULL(t1.SAL_ORDER_AMOUNT,0) AS 'SAL_ORDER_AMOUNT'
|
||||
,ISNULL(t1.公开价小计,0) AS '公开价小计'
|
||||
,ISNULL(t1.外购价小计,0) AS '外购价小计'
|
||||
,ISNULL(t1.安装费小计,0) AS '安装费小计'
|
||||
,ISNULL(t1.成本小计,0) AS '成本小计'
|
||||
,ISNULL(t2.AR_RECEIVABLE_AMOUNT,0) AS 'AR_RECEIVABLE_AMOUNT'
|
||||
,ISNULL(t3.AR_RECEIVABLE_AMOUNT2,0) AS 'AR_RECEIVABLE_AMOUNT2'
|
||||
--,ISNULL(t3.FIVALLAMOUNTFOR,0) AS 'FIVALLAMOUNTFOR'
|
||||
FROM T_CRM_CONTRACT t0
|
||||
INNER JOIN T_CRM_CONTRACTFIN t0f on t0f.FID = t0.FID
|
||||
OUTER APPLY (
|
||||
SELECT t0.FID AS 'CONTRACT_ID'
|
||||
,SUM(t1e_f.FALLAMOUNT_LC) SAL_ORDER_AMOUNT
|
||||
,SUM(t1e.F_CYG_OPENTOTAL) AS '公开价小计'
|
||||
,SUM(t1e.F_CYG_OUTSOURCINGTOTAL) AS '外购价小计'
|
||||
,SUM(t1e.F_CYG_MOUNTINGTOTAL) AS '安装费小计'
|
||||
,SUM(t1e.F_CYG_COSTTOTAL) AS '成本小计'
|
||||
FROM T_SAL_ORDER t1
|
||||
INNER JOIN T_SAL_ORDERENTRY t1e on t1e.FID = t1.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F t1e_f on t1e_f.FENTRYID = t1e.FENTRYID
|
||||
WHERE t1.FCRMContractId = t0.FID
|
||||
AND t1.FDOCUMENTSTATUS = 'C'
|
||||
GROUP BY t1.FCRMContractId
|
||||
) t1
|
||||
OUTER APPLY (
|
||||
SELECT SUM(t3e.FALLAMOUNT) AS AR_RECEIVABLE_AMOUNT,tt.FCRMContractId
|
||||
--,SUM(t3e.FALLAMOUNTFOR) AS 'FALLAMOUNTFOR'
|
||||
FROM T_SAL_ORDER tt
|
||||
INNER JOIN T_AR_RECEIVABLE t3 on tt.FBILLNO = t3.FBILLNOS
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FID = t3.FID
|
||||
WHERE tt.FCRMContractId = t0.FID
|
||||
AND tt.FDOCUMENTSTATUS = 'C'
|
||||
AND t3.FSETACCOUNTTYPE = '2'--立账类型:暂估
|
||||
AND t3.FDOCUMENTSTATUS = 'C'
|
||||
AND CHARINDEX('-',t3.FBILLNO) = 0
|
||||
GROUP BY tt.FCRMContractId
|
||||
) t2
|
||||
OUTER APPLY (
|
||||
SELECT SUM(t3e.FALLAMOUNT) AS AR_RECEIVABLE_AMOUNT2,tt.FCRMContractId
|
||||
--,SUM(t3e.FALLAMOUNTFOR) AS 'FALLAMOUNTFOR'
|
||||
FROM T_SAL_ORDER tt
|
||||
INNER JOIN T_AR_RECEIVABLE t3 on tt.FBILLNO = t3.FBILLNOS
|
||||
INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FID = t3.FID
|
||||
WHERE tt.FCRMContractId = t0.FID
|
||||
AND tt.FDOCUMENTSTATUS = 'C'
|
||||
AND t3.FSETACCOUNTTYPE = '3'--立账类型:财务
|
||||
AND t3.FDOCUMENTSTATUS = 'C'
|
||||
AND CHARINDEX('-',t3.FBILLNO) = 0
|
||||
GROUP BY tt.FCRMContractId
|
||||
) t3
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 t4f.FCONTRACTAMOUNT_LC AS 'FCONTRACTAMOUNT_X'
|
||||
FROM T_CRM_XCONTRACT t4
|
||||
INNER JOIN T_CRM_XCONTRACTFIN t4f on t4.FID = t4f.FID
|
||||
WHERE t4.FPKIDX = t0.FID
|
||||
ORDER BY t4.FID DESC
|
||||
) t4
|
||||
WHERE 1=1
|
||||
AND t0.FDOCUMENTSTATUS = 'C'
|
||||
)
|
||||
, #最终数据 AS (
|
||||
SELECT t0.FID,t0.FBILLNO
|
||||
,t0.FCONTRACTAMOUNT AS '合同金额'
|
||||
,t0.FCONTRACTAMOUNT_X AS '合同变化金额'
|
||||
,t0.SAL_ORDER_AMOUNT AS '累计销售订单本位币'
|
||||
,t0.FCONTRACTAMOUNT - t0.SAL_ORDER_AMOUNT AS '未下单销售订单本位币'
|
||||
,t0.AR_RECEIVABLE_AMOUNT AS '累计发货本位币'
|
||||
,t0.SAL_ORDER_AMOUNT - t0.AR_RECEIVABLE_AMOUNT AS '剩余未发货本位币'
|
||||
,0 AS '合同收款金额'
|
||||
,0 AS '合同发货未收款金额'
|
||||
,t0.AR_RECEIVABLE_AMOUNT2 AS '累计开票金额'
|
||||
,t0.AR_RECEIVABLE_AMOUNT - t0.AR_RECEIVABLE_AMOUNT2 AS '未开票金额'
|
||||
,t0.公开价小计
|
||||
,t0.外购价小计
|
||||
,t0.安装费小计
|
||||
,t0.成本小计
|
||||
FROM #销售合同计算 t0
|
||||
)
|
||||
--SELECT * FROM #最终数据 t0
|
||||
--WHERE t0.FBILLNO = 'XSHT106734'
|
||||
UPDATE t0 SET t0.F_CYG_CUMSALESORDERS = tt.累计销售订单本位币
|
||||
,t0.F_CYG_NOORDERSALES = tt.未下单销售订单本位币
|
||||
,t0.F_CYG_CUMSHIPMENT = tt.累计发货本位币
|
||||
,t0.F_CYG_REMAINSHIPMENT = tt.剩余未发货本位币
|
||||
,t0.F_CYG_CONTRACTCOLLECTION = tt.合同收款金额
|
||||
,t0.F_CYG_SHIPMENTUNCOLLECTION = tt.合同发货未收款金额
|
||||
,t0.F_CYG_CONTRACTCHANGE = tt.合同变化金额
|
||||
,t0.F_CYG_ACCUMULATEDINVOIC = tt.累计开票金额
|
||||
,t0.F_CYG_UNINVOICEDAMOUNT = tt.未开票金额
|
||||
,t0.F_CYG_OPENPRICE = tt.公开价小计
|
||||
,t0.F_CYG_OUTSOURCINGPRICE = tt.外购价小计
|
||||
,t0.F_CYG_MOUNTINGCOST = tt.安装费小计
|
||||
,t0.F_CYG_COST = tt.成本小计
|
||||
FROM T_CRM_CONTRACTFIN t0
|
||||
INNER JOIN #最终数据 tt on t0.FID = tt.FID
|
||||
"""
|
||||
|
||||
num = DBServiceHelper.Execute(this.Context, sqlL)
|
||||
@@ -27,7 +27,7 @@ from Kingdee.BOS.ServiceHelper import *
|
||||
def EndOperationTransaction(e):
|
||||
# <20><><EFBFBD><EFBFBD>8<EFBFBD>ύ9<E1BDBB><39><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>26ɾ<36><C9BE>3
|
||||
if this.FormOperation.OperationId == 8:
|
||||
Audit2DoUpdDownstreamDocument(e)
|
||||
Save2DoUpdDownstreamDocument(e)
|
||||
|
||||
def Save2DoUpdDownstreamDocument(e):
|
||||
for data in e.DataEntitys:
|
||||
|
||||
Reference in New Issue
Block a user