[FIX] taxes on invoices
bzr revid: fp@tinyerp.com-20120930105006-wz86m86zkz3w92kw
This commit is contained in:
commit
209e6df658
|
@ -1561,18 +1561,19 @@ class account_invoice_line(osv.osv):
|
||||||
def onchange_account_id(self, cr, uid, ids, product_id, partner_id, inv_type, fposition_id, account_id):
|
def onchange_account_id(self, cr, uid, ids, product_id, partner_id, inv_type, fposition_id, account_id):
|
||||||
if not account_id:
|
if not account_id:
|
||||||
return {}
|
return {}
|
||||||
account = self.pool.get('account.account').browse(cr, uid, account_id)
|
unique_tax_ids = []
|
||||||
taxes = account.tax_ids
|
|
||||||
fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id) or False
|
fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id) or False
|
||||||
tax_ids = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes)
|
if not product_id:
|
||||||
|
account = self.pool.get('account.account').browse(cr, uid, account_id)
|
||||||
product_change_result = self.product_id_change(cr, uid, ids, product_id, False, type=inv_type,
|
taxes = account.tax_ids
|
||||||
partner_id=partner_id, fposition_id=fposition_id,
|
unique_tax_ids = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes)
|
||||||
company_id=account.company_id.id)
|
else:
|
||||||
unique_tax_ids = set(tax_ids)
|
product_change_result = self.product_id_change(cr, uid, ids, product_id, False, type=inv_type,
|
||||||
if product_change_result and 'value' in product_change_result and 'invoice_line_tax_id' in product_change_result['value']:
|
partner_id=partner_id, fposition_id=fposition_id,
|
||||||
unique_tax_ids |= set(product_change_result['value']['invoice_line_tax_id'])
|
company_id=account.company_id.id)
|
||||||
return {'value':{'invoice_line_tax_id': list(unique_tax_ids)}}
|
if product_change_result and 'value' in product_change_result and 'invoice_line_tax_id' in product_change_result['value']:
|
||||||
|
unique_tax_ids = product_change_result['value']['invoice_line_tax_id']
|
||||||
|
return {'value':{'invoice_line_tax_id': unique_tax_ids}}
|
||||||
|
|
||||||
account_invoice_line()
|
account_invoice_line()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue