@ -55,6 +55,7 @@ class account_balance(report_sxw.rml_parse):
' get_periods_and_date_text ' : self . get_periods_and_date_text ,
' get_periods_and_date_text ' : self . get_periods_and_date_text ,
' get_informe_text ' : self . get_informe_text ,
' get_informe_text ' : self . get_informe_text ,
' get_month ' : self . get_month ,
' get_month ' : self . get_month ,
' exchange_name ' : self . exchange_name ,
} )
} )
self . context = context
self . context = context
@ -122,12 +123,41 @@ class account_balance(report_sxw.rml_parse):
return { ' periods ' : periods_str , ' date ' : dates_str }
return { ' periods ' : periods_str , ' date ' : dates_str }
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 ) :
def lines ( self , form , ids = { } , done = None , level = 0 ) :
"""
"""
Returns all the data needed for the report lines
Returns all the data needed for the report lines
( account info plus debit / credit / balance in the selected period
( account info plus debit / credit / balance in the selected period
and the full year )
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_bin = 0.0
tot_deb = 0.0
tot_deb = 0.0
tot_crd = 0.0
tot_crd = 0.0
@ -280,10 +310,10 @@ class account_balance(report_sxw.rml_parse):
' code ' : account [ ' code ' ] ,
' code ' : account [ ' code ' ] ,
' name ' : ( account [ ' total ' ] and not account [ ' label ' ] ) and ' TOTAL %s ' % ( account [ ' name ' ] . upper ( ) ) or account [ ' name ' ] ,
' name ' : ( account [ ' total ' ] and not account [ ' label ' ] ) and ' TOTAL %s ' % ( account [ ' name ' ] . upper ( ) ) or account [ ' name ' ] ,
' level ' : account [ ' level ' ] ,
' 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 ' ] ,
' parent_id ' : account [ ' parent_id ' ] ,
' bal_type ' : ' ' ,
' bal_type ' : ' ' ,
' label ' : account [ ' label ' ] ,
' label ' : account [ ' label ' ] ,