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