[FIX] account: fix balance sheet which was not considering the sign correctly
authorXavier ALT <xal@openerp.com>
Thu, 6 Dec 2012 12:09:59 +0000 (13:09 +0100)
committerXavier ALT <xal@openerp.com>
Thu, 6 Dec 2012 12:09:59 +0000 (13:09 +0100)
bzr revid: xal@openerp.com-20121206120959-38mr4ihyr4da2kw7

addons/account/report/account_balance_sheet.py
addons/account/report/account_balance_sheet.rml
addons/account/report/account_balance_sheet_horizontal.rml

index 56b2e19..f3aa421 100644 (file)
@@ -70,13 +70,9 @@ class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header)
         return super(report_balancesheet_horizontal, self).set_context(objects, data, new_ids, report_type=report_type)
 
     def sum_dr(self):
-        if self.res_bl['type'] == _('Net Profit'):
-            self.result_sum_dr += self.res_bl['balance']*-1
-        return self.result_sum_dr
+        return self.result_sum_dr + self.res_bl['balance']
 
     def sum_cr(self):
-        if self.res_bl['type'] == _('Net Loss'):
-            self.result_sum_cr += self.res_bl['balance']
         return self.result_sum_cr
 
     def get_pl_balance(self):
@@ -116,18 +112,22 @@ class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header)
         accounts = account_pool.browse(cr, uid, account_ids, context=ctx)
 
         if not self.res_bl:
+            self.res_bl['code'] = 'net_profit'
             self.res_bl['type'] = _('Net Profit')
             self.res_bl['balance'] = 0.0
 
-        if self.res_bl['type'] == _('Net Profit'):
+        if self.res_bl['code'] == 'net_profit':
+            self.res_bl['code'] = 'net_profit'
             self.res_bl['type'] = _('Net Profit')
         else:
             self.res_bl['type'] = _('Net Loss')
+            self.res_bl['code'] = 'net_loss'
+            self.res_bl['balance'] = -self.res_bl['balance']
         pl_dict  = {
-            'code': self.res_bl['type'],
+            'code': self.res_bl['code'],
             'name': self.res_bl['type'],
             'level': False,
-            'balance':self.res_bl['balance'],
+            'balance': self.res_bl['balance'],
         }
         for typ in types:
             accounts_temp = []
@@ -138,11 +138,11 @@ class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header)
                         'code': account.code,
                         'name': account.name,
                         'level': account.level,
-                        'balance':account.balance,
+                        'balance': typ == 'liability' and -account.balance or account.balance,
                     }
                     currency = account.currency_id and account.currency_id or account.company_id.currency_id
                     if typ == 'liability' and account.type <> 'view' and (account.debit <> account.credit):
-                        self.result_sum_dr += account.balance
+                        self.result_sum_dr -= account.balance
                     if typ == 'asset' and account.type <> 'view' and (account.debit <> account.credit):
                         self.result_sum_cr += account.balance
                     if data['form']['display_account'] == 'bal_movement':
@@ -216,4 +216,4 @@ report_sxw.report_sxw('report.account.balancesheet', 'account.account',
     'addons/account/report/account_balance_sheet.rml',parser=report_balancesheet_horizontal,
     header='internal')
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 9db507c..c811399 100644 (file)
       </tr>
       <tr>
         <td>
-          <para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('asset'), 'a') ]]</font>[[ translate(a['code']) ]]<font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]]</font></para>
+          <para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('asset'), 'a') ]]</font>[[ a['code'] ]]<font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_9"><font color="white">[[  '. '*(a['level']-1) ]]</font><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ translate(a['name']) ]]</font></para>
+          <para style="terp_default_9"><font color="white">[[  '. '*(a['level']-1) ]]</font><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ a['name'] ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_Right_9"><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font><font>[[ formatLang(abs(a['balance'])) ]] [[ company.currency_id.symbol ]]</font></para>
+          <para style="terp_default_Right_9"><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font><font>[[ formatLang(a['balance']) ]] [[ company.currency_id.symbol ]]</font></para>
         </td>
       </tr>
     </blockTable>
           <para style="terp_default_Bold_9">Balance:</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_cr())) ]] [[ company.currency_id.symbol ]]</u></para>
+          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(sum_cr()) ]] [[ company.currency_id.symbol ]]</u></para>
         </td>
       </tr>
     </blockTable>
       </tr>
       <tr>
         <td>
-          <para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('liability'), 'a') ]]</font>[[ translate(a['code']) ]]<font>[[ (a['level']&lt;4 or a['code'] == 'Net Profit') and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]] </font></para>
+          <para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('liability'), 'a') ]]</font>[[ a['code'] ]]<font>[[ (a['level']&lt;4 or a['code'] in ['net_prifit', 'net_loss']) and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]] </font></para>
         </td>
         <td>
-          <para style="terp_default_9"><font color="white">[[  '. '*(a['level']-1) ]]</font><font>[[ (a['level']&lt;4 or a['name'] == 'Net Profit') and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ translate(a['name']) ]]</font></para>
+          <para style="terp_default_9"><font color="white">[[  '. '*(a['level']-1) ]]</font><font>[[ (a['level']&lt;4 or a['code'] in ['net_profit', 'net_loss']) and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ a['name'] ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_Right_9"><font>[[ (a['level']&lt;4 or a['name'] == 'Net Profit') and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font><font>[[ formatLang(abs(a['balance'])) ]] [[ company.currency_id.symbol ]]</font></para>
+          <para style="terp_default_Right_9"><font>[[ (a['level']&lt;4 or a['code'] in ['net_profit', 'net_loss']) and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font><font>[[ formatLang(a['balance']) ]] [[ company.currency_id.symbol ]]</font></para>
         </td>
       </tr>
     </blockTable>
           <para style="terp_default_Bold_9">Balance:</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_dr())) ]] [[ company.currency_id.symbol ]]</u></para>
+          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(sum_dr()) ]] [[ company.currency_id.symbol ]]</u></para>
         </td>
       </tr>
     </blockTable>
index 57b6044..e6d265d 100644 (file)
       </tr>
       <tr>
         <td>
-          <para style="terp_default_9"><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]]</font><font>[[ translate(a['code1']) ]]</font></para>
+          <para style="terp_default_9"><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]]</font><font>[[ a['code1'] ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_9"><font color="white">[[  '. '*(a['level1']-1) ]]</font><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ translate(a['name1']) ]]</font></para>
+          <para style="terp_default_9"><font color="white">[[  '. '*(a['level1']-1) ]]</font><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ a['name1'] ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_Right_9"><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font><font>[[ formatLang(abs(a['balance1'])) ]] [[ company.currency_id.symbol ]]</font></para>
+          <para style="terp_default_Right_9"><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font><font>[[ (a['code1'] and a['name1']) and formatLang(a['balance1']) or removeParentNode('font') ]] [[ company.currency_id.symbol ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines(), 'a') ]]</font> <font>[[ (a['level']&lt;4 or a['code'] == 'Net Profit') and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]]</font><font>[[ translate(a['code']) ]]</font></para>
+          <para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines(), 'a') ]]</font> <font>[[ (a['level']&lt;4 or a['code'] in ['net_profit', 'net_loss']) and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]]</font><font>[[ a['code'] in ['net_profit', 'net_loss'] and a['name'] or a['code'] ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_9"><font color="white">[[  '. '*(a['level']-1) ]]</font><font>[[ (a['level']&lt;4 or a['name'] == 'Net Profit') and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ translate(a['name']) ]]</font></para>
+          <para style="terp_default_9"><font color="white">[[  '. '*(a['level']-1) ]]</font><font>[[ (a['level']&lt;4 or a['code'] in ['net_profit', 'net_loss']) and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font')  ]][[ a['name'] ]]</font></para>
         </td>
         <td>
-          <para style="terp_default_Right_9"><font>[[ (a['level']&lt;4 or a['name'] == 'Net Profit') and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font>
-<font> [[(a['code'] and a['name']) and formatLang(abs(a['balance'])) or removeParentNode('font')]] [[ company.currency_id.symbol ]]</font></para>
+          <para style="terp_default_Right_9"><font>[[ (a['level']&lt;4 or a['code'] in ['net_profit', 'net_loss']) and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font')  ]]</font>
+<font> [[(a['code'] and a['name']) and formatLang(a['balance']) or removeParentNode('font')]] [[ company.currency_id.symbol ]]</font></para>
         </td>
      </tr>
      </blockTable>
           <para style="terp_default_Bold_9">Balance:</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_cr())) ]] [[ company.currency_id.symbol ]]</u></para>
+          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(sum_cr()) ]] [[ company.currency_id.symbol ]]</u></para>
         </td>
         <td>
           <para style="terp_default_Bold_9">Balance:</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_dr())) ]] [[ company.currency_id.symbol ]]</u></para>
+          <para style="terp_default_Right_9_Bold"><u>[[ formatLang(sum_dr()) ]] [[ company.currency_id.symbol ]]</u></para>
         </td>
       </tr>
     </blockTable>