from BWP.B3ExportBase.BO import PayU8 from BWP.B3ExportBase.BO import PayU8BodyEntry class BLMethodEvents(BLMethodEventsBase): def before(self): #0 读取部分字段,1 读取单据所有字段,包括明细 self.proxy.LoadFullDom = 0 #当设置 0时,指定需要读取的字段 self.proxy.MinDmoProperties.Add("Date");#日期--付款日期 self.proxy.MinDmoProperties.Add("Supplier_Name");#供货单位--供应商 self.proxy.MinDmoProperties.Add("Supplier_Code");#供货单位--供应商编号 self.proxy.MinDmoProperties.Add("Employee_ID");#操作员--经办人 self.proxy.MinDmoProperties.Add("Employee_Name");#操作员--经办人 self.proxy.MinDmoProperties.Add("Remark");#备注--摘要 self.proxy.MinDetailProperties.Add("Pay_ID");#付款明细ID self.proxy.MinDetailProperties.Add("StatPay_ID");#付款明细结算单ID self.proxy.MinDetailProperties.Add("Money");#金额--本次付款金额 def execute(self): id = 0; for dmo in dmos: invoices.Lastquerydate = str(dmo.Date); invoices.Dynamicdate = self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd"); invoices.Timestamp = str(dmo.Date); invoices.Bignoreextenduserdefines = "y"; invoices.Maxdataitems = "20000"; invoices.Paginate = "0"; #self.emptyError(dmo.SaleKind_Name,"NO."+str(dmo.ID)+"销售类型为空") id = id + 1; inv = PayU8(); invoices.Bills.Add(inv); inv.B2BillIDs.Add(dmo.ID); #inv.Head.Id = id.ToString("00000000000000"); inv.Head.Vouchtype = "49"; inv.Head.Vouchcode = id.ToString("00000000000000"); inv.Head.Vouchdate = self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd"); inv.Head.Period = "12"; #inv.Head.Customercode = "03017"; inv.Head.Customercode = dmo.Supplier_Code;#供应商编号 inv.Head.Balancecode = "2"; inv.Head.Digest = dmo.Remark; inv.Head.Foreigncurrency = "人民币"; inv.Head.Currencyrate = "1";#汇率 moneySum = 0; for detail in dmo.Details: moneySum += detail.Money; inv.Head.Amount = str(moneySum); inv.Head.Originalamount = str(moneySum); inv.Head.Operator = dmo.Employee_Name;#操作员 inv.Head.Balanceitemcode = "1002001002";#结算科目 inv.Head.Flag = "AP"; inv.Head.Iamount_s = "0"; inv.Head.Startflag = "0"; #self.error(str(dmo.Details.Count)); for detail in dmo.Details: entry = PayU8BodyEntry(); inv.Body.AddEntry(entry); entry.Mainid="1000013997"; entry.Type="0"; #entry.Customercode = "03017"; entry.Customercode = dmo.Supplier_Code;#供应商编号 entry.Originalamount = str(detail.Money); entry.Amount = str(detail.Money); entry.Itemcode = "2202100";#应付材料款(新)2202100 entry.Iamt_s = "0"; entry.Iramt_s = "0";