[FIX] Ensures the fiscal year is correctly chosen based on the company of the selected chart of accounts within accounting reports. Particularly crucial for reports which do not allow the fiscal year to be manually selected (such as the aged partner balance, which is prone to simply throwing errors).

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

bzr revid: dawn@catalyst.net.nz-20130715025212-ncgog0hbixnci7qh
This commit is contained in:
Dawn Richardson
2013-07-15 14:52:12 +12:00
parent 84a134c46d
commit 53179028d5
2 changed files with 9 additions and 2 deletions
@@ -11,7 +11,8 @@
<separator string="Aged Partner Balance"/>
<label string="Aged Partner Balance is a more detailed report of your receivables by intervals. When opening that report, OpenERP asks for the name of the company, the fiscal period and the size of the interval to be analyzed (in days). OpenERP then calculates a table of credit balance by period. So if you request an interval of 30 days OpenERP generates an analysis of creditors for the past month, past two months, and so on. "/>
<group col="4">
<field name="chart_account_id" widget='selection'/>
<field name="chart_account_id" widget='selection' on_change="onchange_chart_id(chart_account_id, context)"/>
<field name="fiscalyear_id" invisible="1"/>
<newline/>
<field name="date_from"/>
<field name="period_length"/>
@@ -34,7 +34,10 @@ class account_common_report(osv.osv_memory):
res = {}
if chart_account_id:
company_id = self.pool.get('account.account').browse(cr, uid, chart_account_id, context=context).company_id.id
res['value'] = {'company_id': company_id}
now = time.strftime('%Y-%m-%d')
domain = [('company_id', '=', company_id),('date_start', '<', now), ('date_stop', '>', now)]
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, domain, limit=1)
res['value'] = {'company_id': company_id, 'fiscalyear_id': fiscalyears and fiscalyears[0] or False}
return res
_columns = {
@@ -128,6 +131,9 @@ class account_common_report(osv.osv_memory):
if ids and context.get('active_model') == 'account.account':
company_id = self.pool.get('account.account').browse(cr, uid, ids[0], context=context).company_id.id
domain += [('company_id', '=', company_id)]
else: #use current company id
company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
domain += [('company_id', '=', company_id)]
fiscalyears = self.pool.get('account.fiscalyear').search(cr, uid, domain, limit=1)
return fiscalyears and fiscalyears[0] or False