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