Browse Source

[ADD] Added currency_id field, so that


			
			
				6.0
			
			
		
Humberto Arocha 12 years ago
parent
commit
21a61c6b38
  1. 35
      account_financial_report/report/account_balance_4_cols.py
  2. 2
      account_financial_report/report/balance_full_4_cols.rml
  3. 5
      account_financial_report/wizard/account_report_wizard.xml
  4. 1
      account_financial_report/wizard/wizard_account_balance_4_report.py

35
account_financial_report/report/account_balance_4_cols.py

@ -55,6 +55,7 @@ class account_balance(report_sxw.rml_parse):
'get_periods_and_date_text': self.get_periods_and_date_text,
'get_informe_text': self.get_informe_text,
'get_month':self.get_month,
'exchange_name':self.exchange_name,
})
self.context = context
@ -129,13 +130,37 @@ class account_balance(report_sxw.rml_parse):
if not period_counter:
return True
return False
def exchange_name(self, form):
self.from_currency_id = self.get_company_currency(form['company_id'] and form['company_id'][0])
if not form['currency_id']:
self.to_currency_id = self.from_currency_id
else:
self.to_currency_id = form['currency_id'] and form['currency_id'][0]
return self.pool.get('res.currency').browse(self.cr, self.uid, self.to_currency_id).name
def exchange(self, from_amount):
if self.from_currency_id == self.to_currency_id:
return from_amount
curr_obj = self.pool.get('res.currency')
return curr_obj.compute(self.cr, self.uid, self.from_currency_id, self.to_currency_id, from_amount)
def get_company_currency(self, company_id):
rc_obj = self.pool.get('res.company')
return rc_obj.browse(self.cr, self.uid, company_id).currency_id.id
def lines(self, form, ids={}, done=None, level=0):
"""
Returns all the data needed for the report lines
(account info plus debit/credit/balance in the selected period
and the full year)
"""
self.from_currency_id = self.get_company_currency(form['company_id'] and form['company_id'][0])
if not form['currency_id']:
self.to_currency_id = self.from_currency_id
else:
self.to_currency_id = form['currency_id'] and form['currency_id'][0]
tot_bin = 0.0
tot_deb = 0.0
tot_crd = 0.0
@ -300,10 +325,10 @@ class account_balance(report_sxw.rml_parse):
'code': account['code'],
'name': (account['total'] and not account['label']) and 'TOTAL %s'%(account['name'].upper()) or account['name'],
'level': account['level'],
'balanceinit': period_balanceinit[account_id],
'debit': account['debit'],
'credit': account['credit'],
'balance': period_balanceinit[account_id]+account['debit']-account['credit'],
'balanceinit': self.exchange(period_balanceinit[account_id]),
'debit': self.exchange(account['debit']),
'credit': self.exchange(account['credit']),
'balance': self.exchange(period_balanceinit[account_id]+account['debit']-account['credit']),
'parent_id': account['parent_id'],
'bal_type': '',
'label': account['label'],

2
account_financial_report/report/balance_full_4_cols.rml

@ -26,7 +26,7 @@
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expresado en %s)'%( company.currency_id.name)) or '']]</para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expresado en %s)'%( exchange_name(data['form']))) or '']]</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>

5
account_financial_report/wizard/account_report_wizard.xml

@ -8,8 +8,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="General Account Balance [ Initial | Debit | Credit | Balance ]">
<group width='800' height='600'>
<group>
<field name="company_id"/>
<group>
<field name="currency_id"/>
</group>
<newline/>
<group colspan="4">

1
account_financial_report/wizard/wizard_account_balance_4_report.py

@ -48,6 +48,7 @@ class wizard_report(osv.osv_memory):
'lab_str': fields.char('Description', size= 128),
'inf_type': fields.selection([('bgen','Balance General'),('bcom','Balance Comprobacion'),('edogp','Estado Ganancias y Perdidas'),('bml','Libro Mayor Legal')],'Tipo Informe',required=True),
#~ 'type_report': fields.selection([('un_col','Una Columna'),('dos_col','Dos Columnas'),('cuatro_col','Cuatro Columnas')],'Tipo Informe',required=True),
'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all values for this report to be expressed in this secondary currency."),
}
_defaults = {

Loading…
Cancel
Save