diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 44eac9aac6b..d52c166a361 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -429,7 +429,7 @@ class purchase_order(osv.osv): 'payment_term_id': False, }} - company_id = self.pool.get('res.users')._get_company(cr, uid, context=context) + company_id = context.get('company_id') or self.pool.get('res.users')._get_company(cr, uid, context=context) if not company_id: raise osv.except_osv(_('Error!'), _('There is no default company for the current user!')) fp = self.pool['account.fiscal.position'].get_fiscal_position(cr, uid, company_id, partner_id, context=context) @@ -1446,7 +1446,7 @@ class procurement_order(osv.osv): taxes_ids = taxes_ids.filtered(lambda x: x.company_id.id == procurement.company_id.id) # It is necessary to have the appropriate fiscal position to get the right tax mapping fiscal_position = False - fiscal_position_id = po_obj.onchange_partner_id(cr, uid, None, partner.id, context=context)['value']['fiscal_position'] + fiscal_position_id = po_obj.onchange_partner_id(cr, uid, None, partner.id, context=dict(context, company_id=procurement.company_id.id))['value']['fiscal_position'] if fiscal_position_id: fiscal_position = acc_pos_obj.browse(cr, uid, fiscal_position_id, context=context) taxes = acc_pos_obj.map_tax(cr, uid, fiscal_position, taxes_ids, context=context) @@ -1569,7 +1569,7 @@ class procurement_order(osv.osv): 'currency_id': partner.property_product_pricelist_purchase and partner.property_product_pricelist_purchase.currency_id.id or procurement.company_id.currency_id.id, 'date_order': purchase_date.strftime(DEFAULT_SERVER_DATETIME_FORMAT), 'company_id': procurement.company_id.id, - 'fiscal_position': po_obj.onchange_partner_id(cr, uid, None, partner.id, context=context)['value']['fiscal_position'], + 'fiscal_position': po_obj.onchange_partner_id(cr, uid, None, partner.id, context=dict(context, company_id=procurement.company_id.id))['value']['fiscal_position'], 'payment_term_id': partner.property_supplier_payment_term.id or False, 'dest_address_id': procurement.partner_dest_id.id, }