Browse Source

[MERGE] When you use this reports to audit your data you need better filters.

This merge include the option to select Posted or All Account Entries, for the all reports
incluiding Analytic Ledger
pull/7/merge
Nhomar Hernandez 12 years ago
parent
commit
bc549d5ff8
  1. 5
      account_financial_report/model/account_financial_report.py
  2. 15
      account_financial_report/report/parser.py
  3. 1
      account_financial_report/view/account_financial_report_view.xml
  4. 1
      account_financial_report/view/wizard.xml
  5. 5
      account_financial_report/wizard/wizard.py

5
account_financial_report/model/account_financial_report.py

@ -51,6 +51,10 @@ class account_financial_report(osv.osv):
'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'), 'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'),
'lab_str': fields.char('Description', help='Description for the Summary', size=128), 'lab_str': fields.char('Description', help='Description for the Summary', size=128),
'target_move': fields.selection([('posted', 'All Posted Entries'),
('all', 'All Entries'),
], 'Entries to Include', required=True,
help='Print All Accounting Entries or just Posted Accounting Entries'),
#~ Deprecated fields #~ Deprecated fields
'filter': fields.selection([('bydate', 'By Date'), ('byperiod', 'By Period'), ('all', 'By Date and Period'), ('none', 'No Filter')], 'Date/Period Filter'), 'filter': fields.selection([('bydate', 'By Date'), ('byperiod', 'By Period'), ('all', 'By Date and Period'), ('none', 'No Filter')], 'Date/Period Filter'),
@ -69,6 +73,7 @@ class account_financial_report(osv.osv):
'date_from': lambda *a: time.strftime('%Y-%m-%d'), 'date_from': lambda *a: time.strftime('%Y-%m-%d'),
'date_to': lambda *a: time.strftime('%Y-%m-%d'), 'date_to': lambda *a: time.strftime('%Y-%m-%d'),
'filter': lambda *a: 'byperiod', 'filter': lambda *a: 'byperiod',
'target_move': 'posted',
} }
def copy(self, cr, uid, id, defaults, context=None): def copy(self, cr, uid, id, defaults, context=None):

15
account_financial_report/report/parser.py

@ -181,7 +181,8 @@ class account_balance(report_sxw.rml_parse):
#~ periods = str(tuple(ctx['periods'])) #~ periods = str(tuple(ctx['periods']))
where = """where aml.period_id in (%s) and aa.id = %s and aml.state <> 'draft'""" % ( where = """where aml.period_id in (%s) and aa.id = %s and aml.state <> 'draft'""" % (
periods, account['id']) periods, account['id'])
if ctx.get('state','posted')=='posted':
where += "AND am.state = 'posted'"
sql_detalle = """select aml.id as id, aj.name as diario, aa.name as descripcion, sql_detalle = """select aml.id as id, aj.name as diario, aa.name as descripcion,
(select name from res_partner where aml.partner_id = id) as partner, (select name from res_partner where aml.partner_id = id) as partner,
aa.code as cuenta, aml.name as name, aa.code as cuenta, aml.name as name,
@ -321,6 +322,8 @@ class account_balance(report_sxw.rml_parse):
def z(n): def z(n):
return abs(n) < 0.005 and 0.0 or n return abs(n) < 0.005 and 0.0 or n
self.context['state'] = form['target_move'] or 'posted'
self.from_currency_id = self.get_company_currency(form['company_id'] and type(form[ self.from_currency_id = self.get_company_currency(form['company_id'] and type(form[
'company_id']) in (list, tuple) and form['company_id'][0] or form['company_id']) 'company_id']) in (list, tuple) and form['company_id'][0] or form['company_id'])
if not form['currency_id']: if not form['currency_id']:
@ -331,6 +334,7 @@ class account_balance(report_sxw.rml_parse):
if 'account_list' in form and form['account_list']: if 'account_list' in form and form['account_list']:
account_ids = form['account_list'] account_ids = form['account_list']
account_list= form['account_list']
del form['account_list'] del form['account_list']
credit_account_ids = self.get_company_accounts(form['company_id'] and type(form[ credit_account_ids = self.get_company_accounts(form['company_id'] and type(form[
@ -725,11 +729,10 @@ class account_balance(report_sxw.rml_parse):
# #
# Check whether we must sumarize this line in the report or not # Check whether we must sumarize this line in the report or not
# #
if form['tot_check'] and res['type'] == 'view' and res['level'] == 1 and (res['id'] not in tot):
if form['tot_check'] and (res['id'] in account_list) and (res['id'] not in tot):
if form['columns'] == 'qtr': if form['columns'] == 'qtr':
tot_check = True tot_check = True
#~ tot[res['id']] = True
tot[res['id']] = True
tot_bal1 += res.get('bal1', 0.0) tot_bal1 += res.get('bal1', 0.0)
tot_bal2 += res.get('bal2', 0.0) tot_bal2 += res.get('bal2', 0.0)
tot_bal3 += res.get('bal3', 0.0) tot_bal3 += res.get('bal3', 0.0)
@ -738,7 +741,7 @@ class account_balance(report_sxw.rml_parse):
elif form['columns'] == 'thirteen': elif form['columns'] == 'thirteen':
tot_check = True tot_check = True
#~ tot[res['id']] = True
tot[res['id']] = True
tot_bal1 += res.get('bal1', 0.0) tot_bal1 += res.get('bal1', 0.0)
tot_bal2 += res.get('bal2', 0.0) tot_bal2 += res.get('bal2', 0.0)
tot_bal3 += res.get('bal3', 0.0) tot_bal3 += res.get('bal3', 0.0)
@ -754,7 +757,7 @@ class account_balance(report_sxw.rml_parse):
tot_bal13 += res.get('bal13', 0.0) tot_bal13 += res.get('bal13', 0.0)
else: else:
tot_check = True tot_check = True
#~ tot[res['id']] = True
tot[res['id']] = True
tot_bin += res['balanceinit'] tot_bin += res['balanceinit']
tot_deb += res['debit'] tot_deb += res['debit']
tot_crd += res['credit'] tot_crd += res['credit']

1
account_financial_report/view/account_financial_report_view.xml

@ -30,6 +30,7 @@
<group string="Accounts Info" > <group string="Accounts Info" >
<field name="display_account" required="True" /> <field name="display_account" required="True" />
<field name="display_account_level" required="True" /> <field name="display_account_level" required="True" />
<field name="target_move"/>
</group> </group>
<group string="FiscalYear Info" > <group string="FiscalYear Info" >
<field name="fiscalyear_id" on_change='onchange_columns(columns,fiscalyear_id,period_ids)' <field name="fiscalyear_id" on_change='onchange_columns(columns,fiscalyear_id,period_ids)'

1
account_financial_report/view/wizard.xml

@ -47,6 +47,7 @@
<group string="Accounts Info"> <group string="Accounts Info">
<field name="display_account" required="True" /> <field name="display_account" required="True" />
<field name="display_account_level" required="True" /> <field name="display_account_level" required="True" />
<field name="target_move"/>
</group> </group>
<group string="FiscalYear Info"> <group string="FiscalYear Info">
<field name="fiscalyear" on_change='onchange_columns(columns,fiscalyear,periods)' domain="[('company_id','=',company_id)]"/> <field name="fiscalyear" on_change='onchange_columns(columns,fiscalyear,periods)' domain="[('company_id','=',company_id)]"/>

5
account_financial_report/wizard/wizard.py

@ -54,6 +54,10 @@ class wizard_report(osv.osv_memory):
'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'), 'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'),
'lab_str': fields.char('Description', help='Description for the Summary', size=128), 'lab_str': fields.char('Description', help='Description for the Summary', size=128),
'target_move': fields.selection([('posted', 'All Posted Entries'),
('all', 'All Entries'),
], 'Entries to Include', required=True,
help='Print All Accounting Entries or just Posted Accounting Entries'),
#~ Deprecated fields #~ Deprecated fields
'filter': fields.selection([('bydate', 'By Date'), ('byperiod', 'By Period'), ('all', 'By Date and Period'), ('none', 'No Filter')], 'Date/Period Filter'), 'filter': fields.selection([('bydate', 'By Date'), ('byperiod', 'By Period'), ('all', 'By Date and Period'), ('none', 'No Filter')], 'Date/Period Filter'),
'date_to': fields.date('End date'), 'date_to': fields.date('End date'),
@ -70,6 +74,7 @@ class wizard_report(osv.osv_memory):
'fiscalyear': lambda self, cr, uid, c: self.pool.get('account.fiscalyear').find(cr, uid), 'fiscalyear': lambda self, cr, uid, c: self.pool.get('account.fiscalyear').find(cr, uid),
'display_account': lambda *a: 'bal_mov', 'display_account': lambda *a: 'bal_mov',
'columns': lambda *a: 'five', 'columns': lambda *a: 'five',
'target_move': 'posted',
} }
def onchange_inf_type(self, cr, uid, ids, inf_type, context=None): def onchange_inf_type(self, cr, uid, ids, inf_type, context=None):

Loading…
Cancel
Save