diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 6aae4aea077..12e9e297136 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -260,12 +260,7 @@ class account_analytic_account(osv.osv): def _remaining_hours_to_invoice_calc(self, cr, uid, ids, name, arg, context=None): res = {} for account in self.browse(cr, uid, ids, context=context): - if account.quantity_max != 0: - res[account.id] = account.quantity_max - account.hours_qtt_invoiced - else: - res[account.id] = 0.0 - for id in ids: - res[id] = round(res.get(id, 0.0),2) + res[account.id] = max(account.hours_qtt_est - account.hours_qtt_invoiced, account.hours_qtt_non_invoiced) return res def _hours_qtt_invoiced_calc(self, cr, uid, ids, name, arg, context=None): @@ -306,11 +301,9 @@ class account_analytic_account(osv.osv): res = {} for account in self.browse(cr, uid, ids, context=context): if account.amount_max != 0: - res[account.id] = account.amount_max - account.ca_invoiced + res[account.id] = max(account.amount_max - account.ca_invoiced, account.ca_to_invoice) else: res[account.id]=0.0 - for id in ids: - res[id] = round(res.get(id, 0.0),2) return res def _real_margin_calc(self, cr, uid, ids, name, arg, context=None): @@ -365,7 +358,7 @@ class account_analytic_account(osv.osv): if account.fix_price_invoices: total_remaining += account.remaining_ca if account.invoice_on_timesheets: - total_remaining += account.remaining_hours + total_remaining += account.remaining_hours_to_invoice return total_remaining def _get_total_toinvoice(self, account): diff --git a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py index 0fff5f1d7bd..5d5c2d096cd 100644 --- a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py +++ b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py @@ -48,7 +48,7 @@ class account_analytic_account(osv.osv): total_remaining += account.remaining_expense return total_remaining - def _get_total_remaining(self, account): + def _get_total_toinvoice(self, account): total_toinvoice = super(account_analytic_account, self)._get_total_toinvoice(account) if account.charge_expenses: total_toinvoice += account.expense_to_invoice @@ -58,11 +58,9 @@ class account_analytic_account(osv.osv): res = {} for account in self.browse(cr, uid, ids, context=context): if account.est_expenses != 0: - res[account.id] = account.est_expenses - account.expense_invoiced + res[account.id] = max(account.est_expenses - account.expense_invoiced, account.expense_to_invoice) else: res[account.id]=0.0 - for id in ids: - res[id] = round(res.get(id, 0.0),2) return res def _expense_to_invoice_calc(self, cr, uid, ids, name, arg, context=None):