You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

77 lines
3.4 KiB

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