[FIX] mrp_subcontracting: multi company

This commit is contained in:
Arnold Moyaux
2019-09-18 07:14:53 +00:00
committed by Simon Lejeune
parent 186b512023
commit 93c53265ed
3 changed files with 6 additions and 5 deletions
@@ -96,7 +96,7 @@ class StockMove(models.Model):
subcontract_details_per_picking[move.picking_id].append((move, bom))
move.write({
'is_subcontract': True,
'location_id': self.picking_id.partner_id.property_stock_subcontractor.id
'location_id': move.picking_id.partner_id.with_context(force_company=move.company_id.id).property_stock_subcontractor.id
})
for picking, subcontract_details in subcontract_details_per_picking.items():
picking._subcontracted_produce(subcontract_details)
@@ -123,12 +123,13 @@ class StockPicking(models.Model):
product = subcontract_move.product_id
warehouse = self._get_warehouse(subcontract_move)
vals = {
'company_id': subcontract_move.company_id.id,
'procurement_group_id': group.id,
'product_id': product.id,
'product_uom_id': subcontract_move.product_uom.id,
'bom_id': bom.id,
'location_src_id': subcontract_move.picking_id.partner_id.property_stock_subcontractor.id,
'location_dest_id': subcontract_move.picking_id.partner_id.property_stock_subcontractor.id,
'location_src_id': subcontract_move.picking_id.partner_id.with_context(force_company=subcontract_move.company_id.id).property_stock_subcontractor.id,
'location_dest_id': subcontract_move.picking_id.partner_id.with_context(force_company=subcontract_move.company_id.id).property_stock_subcontractor.id,
'product_qty': subcontract_move.product_uom_qty,
'picking_type_id': warehouse.subcontracting_type_id.id
}
@@ -137,7 +138,7 @@ class StockPicking(models.Model):
def _subcontracted_produce(self, subcontract_details):
self.ensure_one()
for move, bom in subcontract_details:
mo = self.env['mrp.production'].create(self._prepare_subcontract_mo_vals(move, bom))
mo = self.env['mrp.production'].with_context(force_company=move.company_id.id).create(self._prepare_subcontract_mo_vals(move, bom))
self.env['stock.move'].create(mo._get_moves_raw_values())
mo.action_confirm()
@@ -12,7 +12,7 @@ class ReturnPicking(models.TransientModel):
res = super(ReturnPicking, self)._onchange_picking_id()
if not any(self.product_return_moves.filtered(lambda r: r.quantity > 0).move_id.mapped('is_subcontract')):
return res
subcontract_location = self.picking_id.partner_id.property_stock_subcontractor
subcontract_location = self.picking_id.partner_id.with_context(force_company=self.picking_id.company_id.id).property_stock_subcontractor
self.location_id = subcontract_location.id
domain_location = OR([
['|', ('id', '=', self.original_location_id.id), ('return_location', '=', True)],