[FIX] purchase: fiscal position from onchange_partner_id
Used case: -Configure admin as multi-company user -Create 2 fiscal positions (one for company "Odoo BE" and one for company "Odoo US") -Set admin on company "Odoo BE" -On supplier (Asustek) configure fiscal position Odoo BE -Set admin on company "Odoo US" -On supplier (Asustek) configure fiscal position Odoo US -Configure a product (Laptop E5023) with: *route "Buy" *supplier (Asustek) without company *reordering rules (min qty: 20, max qty: 40) -Set admin on company "Odoo BE" -Run scheduler via the cron Behavior before the fix: -Fiscal position on the created PO is the fiscal position for "Odoo BE" (and PO is for the company "Odoo US") Behavior after the fix: -Fiscal position on the create PO is the fiscal position for "Odoo US". Closes #11537 opw:673288
This commit is contained in:
parent
3a32021122
commit
7061acd2c1
|
@ -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,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue