|
|
from BWP.B3ExportBase.BL.K3Cloud import Voucher ,VoucherEntity,FDetailid
|
|
|
from System.Collections.Generic import List ,Dictionary
|
|
|
from System import Int64 ,Object ,Convert
|
|
|
from BWP.B3ExportBase import B3ExportBaseConsts;
|
|
|
class BLMethodEvents(BLMethodEventsBase):
|
|
|
def before(self):
|
|
|
self.proxy.LoadFullDom = 0
|
|
|
|
|
|
self.proxy.MinDmoProperties.Add("ID");
|
|
|
self.proxy.MinDmoProperties.Add("Customer_ID");
|
|
|
self.proxy.MinDmoProperties.Add("Customer_Name");
|
|
|
self.proxy.MinDmoProperties.Add("Money");
|
|
|
self.proxy.MinDmoProperties.Add("CheckTime");
|
|
|
|
|
|
self.proxy.MinDetailProperties.Add("SaleOutStore_ID");
|
|
|
self.proxy.MinDetailProperties.Add("SaleGoods_ID");
|
|
|
self.proxy.MinDetailProperties.Add("UnitNum");#报价数量
|
|
|
self.proxy.MinDetailProperties.Add("Price");#单价
|
|
|
self.proxy.MinDetailProperties.Add("RebateMoney"); #不含税金额
|
|
|
self.proxy.MinDetailProperties.Add("Money"); #金额
|
|
|
|
|
|
def execute(self):
|
|
|
cusDmoType = B3ExportBaseConsts.DmoTypeID.客户;
|
|
|
goodsDmoType = B3ExportBaseConsts.DmoTypeID.存货;
|
|
|
i = 0
|
|
|
for dmo in dmos:
|
|
|
ids = List[Int64]();
|
|
|
ids.Add(dmo.ID)
|
|
|
idsDic.Add(i,ids)
|
|
|
i = i + 1
|
|
|
voucher = Voucher()
|
|
|
voucherContainer.Model.Add(voucher);
|
|
|
voucher.FAccountBookID.Add("FNumber", "001"); #账簿
|
|
|
voucher.FVOUCHERGROUPID.Add("FNumber", "PRE001"); #凭证字
|
|
|
voucher.FVOUCHERGROUPNO = "1"; #凭证号 默认
|
|
|
voucher.FDocumentStatus = "Z";
|
|
|
voucher.FYEAR = gToday.Year; #会计年度
|
|
|
voucher.FPERIOD = gToday.Month; #期间
|
|
|
|
|
|
#借方--------------------------------------------------------
|
|
|
entry = VoucherEntity();
|
|
|
entry.FEXPLANATION = "收" + dmo.Customer_Name + "货款 " + self.proxy.GetDateTime(dmo.CheckTime,"yyyy-MM-dd");
|
|
|
entry.FACCOUNTID.Add("FNumber", "1122.01"); #会计科目
|
|
|
entry.FCURRENCYID.Add("FNumber", "PRE001"); #币别
|
|
|
entry.FEXCHANGERATETYPE.Add("FNumber", "HLTX01_SYS");#汇率类型
|
|
|
entry.FEXCHANGERATE = 1.0; #汇率
|
|
|
entry.FAMOUNTFOR = Convert.ToDecimal(dmo.Money) #原币金额
|
|
|
entry.FDEBIT = Convert.ToDecimal(dmo.Money) #借方金额
|
|
|
entry.FDetailID = FDetailid(); #核算维度
|
|
|
cusNo = self.proxy.GetExtFieldByName(dmo.Customer_ID,cusDmoType ,"ExternalField1");
|
|
|
entry.FDetailID.FDETAILID__FFLEX6 = Dictionary[str,Object]();
|
|
|
entry.FDetailID.FDETAILID__FFLEX6.Add("FNumber", cusNo);
|
|
|
voucher.FEntity.Add(entry);
|
|
|
|
|
|
#贷方------------------------------------------------------------
|
|
|
for detail in dmo.Details:
|
|
|
entry2 = VoucherEntity();
|
|
|
entry2.FEXPLANATION = "收" + dmo.Customer_Name + "货款 " + self.proxy.GetDateTime(dmo.CheckTime,"yyyy-MM-dd")
|
|
|
entry2.FACCOUNTID.Add("FNumber", "6001.01");
|
|
|
entry2.FCURRENCYID.Add("FNumber", "PRE001");
|
|
|
entry2.FEXCHANGERATETYPE.Add("FNumber", "HLTX01_SYS");
|
|
|
entry2.FEXCHANGERATE = 1.0;
|
|
|
entry2.FAMOUNTFOR = Convert.ToDecimal(detail.RebateMoney)
|
|
|
entry2.FCREDIT = Convert.ToDecimal(detail.RebateMoney)
|
|
|
entry2.FPrice = Convert.ToDecimal(detail.Price)
|
|
|
entry2.FQty = Convert.ToDecimal( detail.UnitNum)
|
|
|
entry2.FUnitId.Add("FNUMBER", "kg"); #单位
|
|
|
entry2.FDetailID = FDetailid(); #核算维度
|
|
|
goodsNo = self.proxy.GetExtFieldByName(detail.SaleGoods_ID,goodsDmoType ,"ExternalField1");
|
|
|
entry2.FDetailID.FDETAILID__FFLEX8 = Dictionary[str,Object]();
|
|
|
entry2.FDetailID.FDETAILID__FFLEX8.Add("FNumber", goodsNo);
|
|
|
voucher.FEntity.Add(entry2);
|
|
|
|
|
|
# 摘要:收【客户名】货款【审核日期】
|
|
|
# 科目编号:1122.01 应收账款_应收货款
|
|
|
# 核算维度:金蝶系统中客户编码/客户名称(对照)
|
|
|
# 借方金额:销售总金额
|
|
|
|
|
|
# 摘要:收【客户名】货款【审核日期】
|
|
|
# 科目编号:6001.01 主营业务收入_其他_冷鲜牛肉
|
|
|
# 核算维度:金蝶系统中存货编码/存货名称(对照)
|
|
|
# 单位:千克
|
|
|
# 单价:单价
|
|
|
# 数量:报价数量
|
|
|
# 贷方金额:金额
|