[FIX] account: Invoice journal type must match with invoice type

lp bug: https://launchpad.net/bugs/550441 fixed

bzr revid: mra@tinyerp.com-20100406130731-f1lkrei6v55qll1z
This commit is contained in:
mra (Open ERP) 2010-04-06 18:37:31 +05:30
parent 082bf8ccec
commit 72ad145ae8
1 changed files with 16 additions and 8 deletions

View File

@ -443,8 +443,9 @@ class account_invoice(osv.osv):
return {'value': {}}
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id):
val={}
dom={}
val = {}
dom = {}
obj_journal = self.pool.get('account.journal')
if company_id and part_id and type:
acc_id = False
partner_obj = self.pool.get('res.partner').browse(cr,uid,part_id)
@ -488,13 +489,20 @@ class account_invoice(osv.osv):
_('invoice line account company is not match with invoice company.'))
else:
continue
if company_id:
val['journal_id']=False
journal_ids=self.pool.get('account.journal').search(cr,uid,[('company_id','=',company_id)])
dom={'journal_id': [('id','in',journal_ids)]}
if company_id and type:
if type in ('out_invoice', 'out_refund'):
journal_type = 'sale'
else:
journal_type = 'purchase'
journal_ids = obj_journal.search(cr, uid, [('company_id','=',company_id), ('type', '=', journal_type)])
if journal_ids:
val['journal_id'] = journal_ids[0]
else:
raise osv.except_osv(_('Configration Error !'),
_('Can not find account journal for this company in invoice, Please Create journal.'))
dom = {'journal_id': [('id', 'in', journal_ids)]}
else:
journal_ids=self.pool.get('account.journal').search(cr,uid,[])
dom={'journal_id': [('id','in',journal_ids)]}
journal_ids = obj_journal.search(cr, uid, [])
if currency_id and company_id:
currency = self.pool.get('res.currency').browse(cr, uid, currency_id)