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.
 
 

71 lines
2.7 KiB

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 = "3";#结算科目ID
inv.Head.Balanceitemcode = "1002001002";#结算科目
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.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";