from BWP.B3ButcherManageExport.BO import NcVoucher from BWP.B3ButcherManageExport.BO import NcVoucherEntry from BWP.B3ButcherManageExport.BO import Items from BWP.B3ButcherManageExport.BO import Otheruserdata class BLMethodEvents(BLMethodEventsBase): def before(self): self.proxy.MinDmoProperties.Add("Date"); self.proxy.MinDmoProperties.Add("Supplier_Name"); self.proxy.MinDmoProperties.Add("Money"); self.proxy.MinDmoProperties.Add("AccountingUnit_ID"); self.proxy.MinDmoProperties.Add("AccountingUnit_Name"); self.proxy.MinDmoProperties.Add("Employee_Name"); self.proxy.MinDmoProperties.Add("Date"); self.proxy.MinDmoProperties.Add("WeighBill_BuyNum"); self.proxy.MinDmoProperties.Add("WeighBill_BuyWeigh1"); self.proxy.MinDmoProperties.Add("Remark"); def execute(self): self.proxy.CheckAccountingUnit(dmos); voucher = NcVoucher(); for dmo in dmos: self.emptyError(dmo.Date,"预付日期不能为空"); self.emptyError(dmo.Supplier_Name,"供应商不能为空"); #self.emptyError(dmo.Employee_Name,"经办人不能为空"); self.emptyError(dmo.AccountingUnit_Name,"会计单位不能为空"); voucher.B2BillIDs.Add(dmo.ID); voucher.Head.Company = dmo.AccountingUnit_Name; if dmo.AccountingUnit_ID==5: voucher.Head.VoucherType = "QHC凭证"; else: voucher.Head.VoucherType = "记账凭证"; voucher.Head.FiscalYear = self.proxy.GetDateTime(gToday,"yyyy"); voucher.Head.AccountingPeriod = self.proxy.GetDateTime(gToday,"MM"); voucher.Head.Date = self.proxy.GetDateTime(gToday,"yyyy-MM-dd"); voucher.Head.Signature = "Y"; voucher.Head.VoucherMakingSystem = "总账"; voucher.Head.Reserve2 = "N"; voucher.Head.Enter = gUser.Name; voucher.Head.VoucherId = "0"; voucher.Head.AttachmentNumber = "0"; vouchers.Bills.Add(voucher); entryid = 0; for dmo in dmos: if dmo.AccountingUnit_ID == 1: entryid = entryid + 1; entry = NcVoucherEntry(); voucher.Body.Entrys.Add(entry); entry.EntryId = str(entryid); entry.AccountCode = "集团外应付生猪款" ; entry.Abstract = self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd") +"生猪款 " +dmo.Supplier_Name + str(dmo.WeighBill_BuyNum)+ "头"+str(dmo.WeighBill_BuyWeigh1)+"KG"; entry.Currency = "CNY"; entry.ExchangeRate2 = "1" ; entry.PrimaryDebitAmount = str(dmo.Money) ; entry.NaturalDebitCurrency = str(dmo.Money) ; otherUserDate = Otheruserdata(); entry.Otheruserdata = otherUserDate; entry.Otheruserdata.Cashflowcase.Money = str(dmo.Money) ; entry.Otheruserdata.Cashflowcase.Moneymain = str(dmo.Money) ; item =Items(); item.Name = "供应商辅助核算"; item.Value = dmo.Supplier_Name; entry.Accountings.Items.Add(item); entry.Otheruserdata.Cashflowcase.PkCashflow = "购买商品、接受劳务支付的现金"; for dmo in dmos: if dmo.AccountingUnit_ID == 1: entryid = entryid + 1; entry = NcVoucherEntry(); voucher.Body.Entrys.Add(entry); entry.EntryId = str(entryid); entry.AccountCode = "农业银行" ; entry.Abstract = self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd") +"生猪款 " +dmo.Supplier_Name + str(dmo.WeighBill_BuyNum)+ "头"+str(dmo.WeighBill_BuyWeigh1)+"KG"; entry.Settlement = "电汇"; entry.Currency = "CNY"; entry.ExchangeRate2 = "1" ; entry.PrimaryCreditAmount = str(dmo.Money) ; entry.NaturalCreditCurrency = str(dmo.Money) ;