diff options
| author | Fabien Pinckaers <fp@tinyerp.com> | 2008-06-30 20:47:46 +0000 |
|---|---|---|
| committer | Fabien Pinckaers <fp@tinyerp.com> | 2008-06-30 20:47:46 +0000 |
| commit | 569fc536a1d0e42e2cd8a780338070fe10becb01 (patch) | |
| tree | fd11343fe2a1a328c6734d660874496bf14596dd | |
| parent | 205d8acccba09276727ea10cab147e2546fbd3de (diff) | |
Improvements in reporting
bzr revid: fp@tinyerp.com-653b1c55c3be467b34631ec28615e226e2687958
| -rw-r--r-- | addons/account/report/account_balance.py | 14 | ||||
| -rw-r--r-- | addons/account/report/account_balance.rml | 169 |
2 files changed, 75 insertions, 108 deletions
diff --git a/addons/account/report/account_balance.py b/addons/account/report/account_balance.py index 05a15c6f666..4f82e9bd4e9 100644 --- a/addons/account/report/account_balance.py +++ b/addons/account/report/account_balance.py @@ -69,12 +69,24 @@ class account_balance(report_sxw.rml_parse): 'level': level, 'debit': account.debit, 'credit': account.credit, - 'balance': account.balance + 'balance': account.balance, + 'leef': not bool(account.child_id) } self.sum_debit += account.debit self.sum_credit += account.credit if not (res['credit'] or res['debit']) and not account.child_id: continue + if account.child_id: + def _check_rec(account): + if not account.child_id: + return bool(account.credit or account.debit) + for c in account.child_id: + if _check_rec(c): + return True + return False + if not _check_rec(account): + continue + result.append(res) if account.child_id: ids2 = [(x.code,x.id) for x in account.child_id] diff --git a/addons/account/report/account_balance.rml b/addons/account/report/account_balance.rml index 1daa0d43daa..8deeabb6ba7 100644 --- a/addons/account/report/account_balance.rml +++ b/addons/account/report/account_balance.rml @@ -38,21 +38,9 @@ <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/> </blockTableStyle> <blockTableStyle id="Table2"> - <blockAlignment value="LEFT"/> + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/> <blockValign value="TOP"/> - <lineStyle kind="LINEBEFORE" colorName="#000000" start="0,0" stop="0,-1"/> - <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> - <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> - <lineStyle kind="LINEBEFORE" colorName="#000000" start="1,0" stop="1,-1"/> - <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> - <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> - <lineStyle kind="LINEBEFORE" colorName="#000000" start="2,0" stop="2,-1"/> - <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/> - <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> - <lineStyle kind="LINEBEFORE" colorName="#000000" start="3,0" stop="3,-1"/> - <lineStyle kind="LINEAFTER" colorName="#000000" start="3,0" stop="3,-1"/> - <lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/> - <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/> + <blockAlignment value="RIGHT" start="2,1" stop="-1,-1"/> </blockTableStyle> <blockTableStyle id="Table3"> <blockAlignment value="LEFT"/> @@ -97,70 +85,68 @@ <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/> <paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/> <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/> + + + <blockTableStyle id="TrLevel6"> + <blockLeftPadding length="60" start="1,0" stop="1,0"/> + </blockTableStyle> + <blockTableStyle id="TrLevel5"> + <blockLeftPadding length="40" start="1,0" stop="1,0"/> + </blockTableStyle> + <blockTableStyle id="TrLevel4"> + <blockLeftPadding length="20" start="1,0" stop="1,0"/> + </blockTableStyle> + <blockTableStyle id="TrLevel3"> + <blockLeftPadding length="0" start="1,0" stop="1,0"/> + </blockTableStyle> + <blockTableStyle id="TrLevel2"> + <blockLeftPadding length="0" start="1,0" stop="1,0"/> + <lineStyle kind="LINEBELOW" colorName="#777777" start="1,0" stop="1,0"/> + <blockTopPadding length="13" start="0,0" stop="-1,0"/> + <blockBottomPadding length="2" start="0,0" stop="-1,0"/> + <blockFont name="Times-Bold" start="0,0" stop="-1,-1"/> + </blockTableStyle> + <blockTableStyle id="TrLevel1"> + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/> + <blockLeftPadding length="0" start="1,0" stop="1,0"/> + <blockTopPadding length="27" start="0,0" stop="-1,0"/> + <blockBottomPadding length="2" start="0,0" stop="-1,0"/> + <blockFont name="Times-Bold" start="0,0" stop="-1,-1"/> + </blockTableStyle> + + <paraStyle + name="Level5" + fontName="Times-Roman" + fontSize="10.0" /> + <paraStyle + name="Level4" + fontName="Times-Roman" + fontSize="10.0" /> + <paraStyle + name="Level3" + fontName="Times-Roman" + fontSize="10.0" /> + <paraStyle + name="Level2" + fontName="Times-Bold" + fontSize="10.0" /> + <paraStyle name="Level1" + fontSize="10.0" + fontName="Times-Bold" + /> <paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/> <paraStyle name="Index" fontName="Times-Roman"/> </stylesheet> <images/> <story> - <blockTable colWidths="143.0,226.0,156.0" repeatRows="1" style="Table1"> - <tr> - <td> - <para style="Table Contents"> - <font color="white"> </font> - </para> - </td> - <td> - <para style="P1">Account balance</para> - </td> - <td> - <para style="P4"> - <font color="white"> </font> - </para> - </td> - </tr> - <tr> - <td> - <para style="Table Contents">[[ company.name ]]</para> - </td> - <td> - <para style="P5"> - <font color="white"> </font> - </para> - </td> - <td> - <para style="P6">Currency: [[ company.currency_id.name ]]</para> - </td> - </tr> - </blockTable> - <para style="Standard"> - <font color="white"> </font> - </para> <para style="P9">Printing date: [[ formatLang(time.strftime('%Y-%m-%d'), date=True) ]] at [[ time.strftime('%H:%M:%S') ]]</para> - <para style="P9"> - <font color="white"> </font> - </para> - <blockTable colWidths="44.0,247.0,160.0,74.0" style="Table6"> + <blockTable colWidths="55,262.0,73.0,72.0,72.0" style="Table2" repeatRows="1"> <tr> <td> - <para style="P10">Code</para> + <para style="P12">Code</para> </td> <td> - <para style="P10">Account name</para> - </td> - <td> - <para style="P10">Transactions</para> - </td> - <td> - <para style="P11">Balance</para> - </td> - </tr> - </blockTable> - <blockTable colWidths="291.0,78.0,82.0,73.0" style="Table2"> - <tr> - <td> - <para style="P12"> - <font color="white"> </font> - </para> + <para style="P12">Account</para> </td> <td> <para style="P10">Debit</para> @@ -169,58 +155,27 @@ <para style="P10">Credit</para> </td> <td> - <para style="P10"> - <font color="white"> </font> - </para> + <para style="P10">Balance</para> </td> </tr> - </blockTable> - <para style="P13"> - <font color="white"> </font> - </para> - <blockTable colWidths="45.0,246.0,78.0,82.0,73.0" style="Table3"> - <tr> - <td> - <para style="P14">[[ repeatIn(lines(data['form']), 'a') ]]<font face="Times-Roman">[[ a['code'] ]]</font></para> - </td> - <td> - <para style="P2">[[ '. '*(a['level']-1) + a['name'] ]]</para> - </td> - <td> - <para style="P3">[[ formatLang(a['debit']) ]]</para> - </td> - <td> - <para style="P3">[[ formatLang(a['credit']) ]]</para> - </td> - <td> - <para style="P3">[[ formatLang(a['balance']) ]]</para> - </td> - </tr> - </blockTable> - <para style="Standard"> - <font color="white"> </font> - </para> - <blockTable colWidths="291.0,77.0,82.0,74.0" style="Table4"> <tr> + <td><para style="P14">[[ repeatIn(lines(data['form']), 'a') ]]<i>[[ a['code'] ]]</i></para></td> <td> - <para style="P7">Total:</para> + <para style="P14">[[ setTag('tr','tr',{'style':'TrLevel'+str(a['level']), 'paraStyle':('Level'+str(a['level']))}) ]]<font></font> + [[ a['name'] ]]</para> </td> <td> - <para style="P8">[[ formatLang(sum_debit()) ]]</para> + <para style="P3">[[ formatLang(a['debit'] or '') ]]</para> </td> <td> - <para style="P8">[[ formatLang(sum_credit()) ]]</para> + <para style="P3">[[ formatLang(a['credit'] or '') ]]</para> </td> <td> - <para style="P8"> - <font color="white"> </font> - </para> + <para style="P3"><u>[[ (a['leef'] and removeParentNode('para')) or formatLang(a['balance'] or '') ]]</u></para> + <para style="P3">[[ ((not a['leef']) and removeParentNode('para')) or formatLang(a['balance'] or '') ]]</para> </td> </tr> </blockTable> - <para style="Standard"> - <font color="white"> </font> - </para> </story> </document> |
