- !python {model: ir.model.data}: | chicago_warehouse = self.pool.get('stock.warehouse').browse(cr, uid, ref('stock_warehouse_shop0'), context=context) #create xml ids for demo data that are widely used in tests or in other codes, for more convenience xml_references = [ {'name':'chi_picking_type_in','module':'stock', 'model':'stock.picking.type','res_id': chicago_warehouse.in_type_id.id}, {'name':'chi_picking_type_out','module':'stock', 'model':'stock.picking.type','res_id': chicago_warehouse.out_type_id.id}, {'name':'stock_location_shop0','module':'stock', 'model':'stock.location','res_id': chicago_warehouse.lot_stock_id.id}, ] for xml_record in xml_references: xml_ids = self.search(cr, uid, [('module', '=', xml_record['module']), ('model', '=', xml_record['model']), ('name', '=', xml_record['name'])], context=context) if not xml_ids: self.create(cr, uid, xml_record, context=context) #avoid the xml id and the associated resource being dropped by the orm by manually making a hit on it self._update_dummy(cr, uid, xml_record['model'], xml_record['module'], xml_record['name']) - !record {model: stock.location, id: location_refrigerator_small}: name: Small Refrigerator usage: internal location_id: stock_location_14 - !record {model: product.product, id: product_icecream}: default_code: 001 name: Ice Cream type: product categ_id: product.product_category_1 list_price: 100.0 standard_price: 70.0 uom_id: product.product_uom_kgm uom_po_id: product.product_uom_kgm property_stock_inventory: location_inventory description: Ice cream can be mass-produced and thus is widely available in developed parts of the world. Ice cream can be purchased in large cartons (vats and squrounds) from supermarkets and grocery stores, in smaller quantities from ice cream shops, convenience stores, and milk bars, and in individual servings from small carts or vans at public events. - !record {model: stock.production.lot, id: lot_icecream_0}: name: Lot0 for Ice cream product_id: product_icecream - !record {model: stock.production.lot, id: lot_icecream_1}: name: Lot1 for Ice cream product_id: product_icecream - !record {model: stock.inventory, id: stock_inventory_icecream}: name: Inventory for icecream filter: 'product' product_id: product_icecream - !record {model: stock.inventory.line, id: stock_inventory_line_icecream_lot0}: product_id: product_icecream product_uom_id: product.product_uom_kgm inventory_id: stock_inventory_icecream product_qty: 50.0 prod_lot_id: lot_icecream_0 location_id: stock_location_14 - !record {model: stock.inventory.line, id: stock_inventory_line_icecream_lot1}: product_id: product_icecream product_uom_id: product.product_uom_kgm inventory_id: stock_inventory_icecream product_qty: 40.0 prod_lot_id: lot_icecream_1 location_id: stock_location_14 - Create STOCK_MOVE for OUT - !record {model: stock.picking, id: outgoing_shipment_main_warehouse}: picking_type_id: stock.picking_type_out origin: 'outgoing shipment main_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_27 product_uom: product.product_uom_unit product_uom_qty: 15.0 picking_type_id: stock.picking_type_out location_id: stock.stock_location_stock location_dest_id: stock.stock_location_customers - !record {model: stock.picking, id: outgoing_shipment_main_warehouse1}: picking_type_id: stock.picking_type_out origin: 'outgoing shipment' partner_id: base.res_partner_6 date: !eval "'%s-%s-15' %((datetime.now()-timedelta(days=60)).year, (datetime.now()-timedelta(days=60)).month)" move_lines: - product_id: product.product_product_6 product_uom: product.product_uom_unit product_uom_qty: 180.0 picking_type_id: stock.picking_type_out location_id: stock.stock_location_stock location_dest_id: stock.stock_location_customers pack_operation_ids: - product_id: product.product_product_6 product_qty: 100 product_uom_id: product.product_uom_unit location_id: stock.stock_location_stock location_dest_id: stock.stock_location_customers - !record {model: stock.picking, id: outgoing_shipment_main_warehouse2}: picking_type_id: stock.picking_type_out origin: 'outgoing shipment your_company warehouse' partner_id: base.res_partner_6 date: !eval "'%s-%s-15' % ((datetime.now()-timedelta(days=30)).month,(datetime.now()-timedelta(days=30)).month)" move_lines: - product_id: product.product_product_31 product_uom: product.product_uom_unit product_uom_qty: 45.0 picking_type_id: stock.picking_type_out location_id: stock.stock_location_stock location_dest_id: stock.stock_location_customers - !record {model: stock.picking, id: outgoing_shipment_main_warehouse3}: picking_type_id: stock.picking_type_out origin: 'your company warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_5 product_uom: product.product_uom_unit product_uom_qty: 75.0 picking_type_id: stock.picking_type_out location_id: stock.stock_location_stock location_dest_id: stock.stock_location_customers - Create STOCK_PICKING for IN - !record {model: stock.picking, id: incomming_shipment}: picking_type_id: stock.picking_type_in origin: 'incoming_shipment for test' - !record {model: stock.move, id: incomming_shipment_icecream}: picking_id: stock.incomming_shipment product_id: product_icecream product_uom: product.product_uom_kgm product_uom_qty: 50.0 picking_type_id: stock.picking_type_in location_id: stock_location_suppliers location_dest_id: stock_location_14 - !record {model: stock.picking, id: incomming_shipment1}: picking_type_id: stock.picking_type_in origin: 'incoming_shipment' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_48 product_uom: product.product_uom_unit product_uom_qty: 35.0 picking_type_id: stock.picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_stock - !record {model: stock.picking, id: incomming_shipment2}: picking_type_id: stock.picking_type_in origin: 'incoming_shipment main_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_22 product_uom: product.product_uom_unit product_uom_qty: 125.0 picking_type_id: stock.picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_stock - !record {model: stock.picking, id: incomming_shipment3}: picking_type_id: stock.picking_type_in origin: 'incoming_shipment your_company warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_10 product_uom: product.product_uom_unit product_uom_qty: 120.0 picking_type_id: stock.picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_stock - !record {model: stock.picking, id: incomming_shipment4}: picking_type_id: stock.picking_type_in origin: 'incoming_shipment_main_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_31 product_uom: product.product_uom_unit product_uom_qty: 50.0 picking_type_id: stock.picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_stock - Create STOCK_PICKING_IN for Chicago Warehouse - !record {model: stock.picking, id: incomming_chicago_warehouse}: picking_type_id: chi_picking_type_in origin: 'incoming_chicago_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_9 product_uom: product.product_uom_unit product_uom_qty: 25.0 picking_type_id: chi_picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_shop0 - !record {model: stock.picking, id: incomming_chicago_warehouse1}: picking_type_id: chi_picking_type_in origin: 'incoming_shipment_chicago_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_48 product_uom: product.product_uom_unit product_uom_qty: 180.0 picking_type_id: chi_picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_shop0 state: done pack_operation_ids: - product_id: product.product_product_48 product_qty: 100 product_uom_id: product.product_uom_unit location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_shop0 - !record {model: stock.picking, id: incomming_chicago_warehouse2}: picking_type_id: chi_picking_type_in origin: 'incoming_shipment chicago_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_32 product_uom: product.product_uom_unit product_uom_qty: 45.0 picking_type_id: chi_picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_shop0 - !record {model: stock.picking, id: incomming_chicago_warehouse3}: picking_type_id: chi_picking_type_in origin: 'chicago_warehouse' partner_id: base.res_partner_6 date: !eval "'%s-%s-2' % ((datetime.now()-timedelta(days=30)).month,(datetime.now()-timedelta(days=30)).month)" move_lines: - product_id: product.product_product_22 product_uom: product.product_uom_unit product_uom_qty: 75.0 picking_type_id: chi_picking_type_in location_id: stock.stock_location_suppliers location_dest_id: stock.stock_location_shop0 - Create STOCK_PICKING_OUT for Chicago Warehouse - !record {model: stock.picking, id: outgoing_chicago_warehouse}: picking_type_id: chi_picking_type_out origin: 'outgoing_chicago_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_27 product_uom: product.product_uom_unit product_uom_qty: 15.0 picking_type_id: chi_picking_type_out location_id: stock.stock_location_shop0 location_dest_id: stock.stock_location_customers - !record {model: stock.picking, id: outgoing_chicago_warehouse1}: picking_type_id: chi_picking_type_out origin: 'outgoing_shipment_chicago_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_6 product_uom: product.product_uom_unit product_uom_qty: 180.0 picking_type_id: chi_picking_type_out location_id: stock.stock_location_shop0 location_dest_id: stock.stock_location_customers pack_operation_ids: - product_id: product.product_product_6 product_qty: 100 product_uom_id: product.product_uom_unit location_id: stock.stock_location_shop0 location_dest_id: stock.stock_location_customers - !record {model: stock.picking, id: outgoing_chicago_warehouse2}: picking_type_id: chi_picking_type_out origin: 'chicago_warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_31 product_uom: product.product_uom_unit product_uom_qty: 45.0 picking_type_id: chi_picking_type_out location_id: stock.stock_location_shop0 location_dest_id: stock.stock_location_customers - !record {model: stock.picking, id: outgoing_chicago_warehouse3}: picking_type_id: chi_picking_type_out origin: 'outgoing chicago warehouse' partner_id: base.res_partner_6 move_lines: - product_id: product.product_product_5 product_uom: product.product_uom_unit product_uom_qty: 75.0 picking_type_id: chi_picking_type_out location_id: stock.stock_location_shop0 location_dest_id: stock.stock_location_customers - !python {model: stock.picking}: | self.action_confirm(cr, uid, [ref('outgoing_shipment_main_warehouse'),ref('outgoing_shipment_main_warehouse1'),ref('incomming_shipment2'),ref('incomming_shipment1'),ref('incomming_shipment3'),ref('outgoing_chicago_warehouse3'),ref('outgoing_chicago_warehouse2'),ref('outgoing_chicago_warehouse1'),ref('incomming_chicago_warehouse1'),ref('incomming_chicago_warehouse2'),ref('incomming_chicago_warehouse3')], context=context) record = self.browse(cr, uid, ref('outgoing_shipment_main_warehouse1'), context=context) record_chi_in = self.browse(cr, uid, ref('incomming_chicago_warehouse1'), context=context) record_chi_out = self.browse(cr, uid, ref('outgoing_chicago_warehouse1'), context=context) if record.state != 'done' and record_chi_in.state != 'done' and record_chi_out.state != 'done': self.force_assign(cr, uid, [ref('outgoing_shipment_main_warehouse'),ref('outgoing_chicago_warehouse3'),ref('outgoing_shipment_main_warehouse2')], context=context) self.do_transfer(cr, uid, [ref('outgoing_shipment_main_warehouse1'),ref('incomming_chicago_warehouse1'),ref('outgoing_chicago_warehouse1')], context=context)