From 18d848b45cd71cf7117be88a5e849af7213e2ca5 Mon Sep 17 00:00:00 2001 From: "ARA (OpenERP)" Date: Mon, 6 Jun 2011 11:00:15 +0530 Subject: [PATCH] [FIX] account: account_move_line: improved account selection when partner changes lp bug: https://launchpad.net/bugs/784006 fixed bzr revid: ara@tinyerp.com-20110606053015-2uczs37n3gx0ftc6 --- addons/account/account_move_line.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 0b17eb676f6..113f5815774 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -650,8 +650,13 @@ class account_move_line(osv.osv): #if jt in ('sale', 'purchase_refund', 'bank', 'cash'): if jt in ('sale', 'purchase_refund'): val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id2) - elif jt in ('purchase', 'sale_refund', 'expense', 'bank', 'cash'): + elif jt in ('purchase', 'sale_refund'): val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id1) + elif jt in ('general', 'bank', 'cash'): + if part.customer and not part.supplier: + val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id2) + else: + val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id1) if val.get('account_id', False): d = self.onchange_account_id(cr, uid, ids, val['account_id']) val.update(d['value'])