From 5d2e59e5e4a6e25a992a2b4244e9cfa1619a0abb Mon Sep 17 00:00:00 2001 From: Rifakat Date: Tue, 4 Mar 2014 17:01:17 +0530 Subject: [PATCH] [FIX] hr_payroll_account: used float_compare() instead of direct comparing between two floats to avoid python rounding bzr revid: rha@tinyerp.com-20140304113117-smy5gb9e92lcuji8 --- addons/hr_payroll_account/hr_payroll_account.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/hr_payroll_account/hr_payroll_account.py b/addons/hr_payroll_account/hr_payroll_account.py index 43f984fadd2..9e892682e96 100644 --- a/addons/hr_payroll_account/hr_payroll_account.py +++ b/addons/hr_payroll_account/hr_payroll_account.py @@ -24,7 +24,7 @@ from openerp import netsvc from datetime import date, datetime, timedelta from openerp.osv import fields, osv -from openerp.tools import config +from openerp.tools import config, float_compare from openerp.tools.translate import _ class hr_payslip(osv.osv): @@ -87,6 +87,7 @@ class hr_payslip(osv.osv): def process_sheet(self, cr, uid, ids, context=None): move_pool = self.pool.get('account.move') period_pool = self.pool.get('account.period') + precision = self.pool.get('decimal.precision').precision_get(cr, uid, 'Payroll') timenow = time.strftime('%Y-%m-%d') for slip in self.browse(cr, uid, ids, context=context): @@ -151,7 +152,7 @@ class hr_payslip(osv.osv): line_ids.append(credit_line) credit_sum += credit_line[2]['credit'] - credit_line[2]['debit'] - if debit_sum > credit_sum: + if float_compare(credit_sum, debit_sum, precision_digits=precision) == -1: acc_id = slip.journal_id.default_credit_account_id.id if not acc_id: raise osv.except_osv(_('Configuration Error!'),_('The Expense Journal "%s" has not properly configured the Credit Account!')%(slip.journal_id.name)) @@ -167,7 +168,7 @@ class hr_payslip(osv.osv): }) line_ids.append(adjust_credit) - elif debit_sum < credit_sum: + elif float_compare(debit_sum, credit_sum, precision_digits=precision) == -1: acc_id = slip.journal_id.default_debit_account_id.id if not acc_id: raise osv.except_osv(_('Configuration Error!'),_('The Expense Journal "%s" has not properly configured the Debit Account!')%(slip.journal_id.name))