from BWP.B3ExportBase.BO import StatPayU8 from BWP.B3ExportBase.BO import StatPayU8BodyEntry class BLMethodEvents(BLMethodEventsBase): def before(self): #0 读取部分字段,1 读取单据所有字段,包括明细 self.proxy.LoadFullDom = 0 #当设置 0时,指定需要读取的字段 self.proxy.MinDmoProperties.Add("Date");#入库日期 self.proxy.MinDmoProperties.Add("Department_ID");#部门 self.proxy.MinDmoProperties.Add("Department_Name");#部门 self.proxy.MinDmoProperties.Add("Department_Code");#部门 self.proxy.MinDmoProperties.Add("Store_ID");#仓库 self.proxy.MinDmoProperties.Add("Store_Name");#仓库 self.proxy.MinDmoProperties.Add("Store_Code");#仓库 self.proxy.MinDmoProperties.Add("OtherInStoreType_ID");#入库类型 self.proxy.MinDmoProperties.Add("OtherInStoreType_Name");#入库类型 self.proxy.MinDmoProperties.Add("Employee_Name");#制单人--经办人 self.proxy.MinDmoProperties.Add("Remark");#备注--摘要 self.proxy.MinDetailProperties.Add("ProductInStore_ID"); self.proxy.MinDetailProperties.Add("Goods_ID"); self.proxy.MinDetailProperties.Add("Goods_Name"); self.proxy.MinDetailProperties.Add("Goods_Code"); self.proxy.MinDetailProperties.Add("Number"); self.proxy.MinDetailProperties.Add("Price"); self.proxy.MinDetailProperties.Add("Money"); def execute(self): id = 0; for dmo in dmos: vouchers.Lastquerydate = str(dmo.Date); vouchers.Dynamicdate = self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd"); vouchers.Timestamp = str(dmo.Date); vouchers.Bignoreextenduserdefines = "y"; vouchers.Maxdataitems = "20000"; vouchers.Paginate = "0"; id = id + 1; inv = StatPayU8(); vouchers.Bills.Add(inv); inv.B2BillIDs.Add(dmo.ID); inv.Head.Id = id.ToString("00000000000000"); inv.Head.Code = id.ToString("00000000000000"); inv.Head.Date = self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd"); inv.Head.Vouchtype = "10"; inv.Head.Businesstype = "成品入库"; inv.Head.Departmentcode= dmo.Department_Code;#部门 #inv.Head.Warehousecode = "07";#仓库,默认 新原料猪库 inv.Head.Warehousecode = dmo.Store_Code;#仓库 inv.Head.Receivecode = "0102";#入库类别,默认 产成品入库 inv.Head.Purchasetypecode = "1";#采购类型,默认 普通采购 inv.Head.Source = "库存"; inv.Head.Auditdate = self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd hh:mm:ss"); inv.Head.Maker = dmo.Employee_Name; #inv.Head.Vendorcode = dmo.Supplier_Code;#供应商编码 inv.Head.Exchrate = "1";#汇率 inv.Head.Memory = dmo.Remark; #self.error(str(dmo.Details.Count)); for detail in dmo.Details: entry = StatPayU8BodyEntry(); inv.Body.AddEntry(entry); entry.Autoid = "1000089842"; entry.Inventorycode = detail.Goods_Code;#存货编码 entry.Invname = detail.Goods_Name;#存货名称 entry.Cmassunitname = "公斤";#计量单位 if(detail.Number is None): detail.Number = 0; if(detail.Price is None): detail.Price = 0; if(detail.Money is None): detail.Money = 0; entry.Quantity = str(detail.Number); entry.Price= str(detail.Price); entry.Cost = str(detail.Money);