summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@tinyerp.com>2008-06-30 20:47:46 +0000
committerFabien Pinckaers <fp@tinyerp.com>2008-06-30 20:47:46 +0000
commit569fc536a1d0e42e2cd8a780338070fe10becb01 (patch)
treefd11343fe2a1a328c6734d660874496bf14596dd
parent205d8acccba09276727ea10cab147e2546fbd3de (diff)
Improvements in reporting
bzr revid: fp@tinyerp.com-653b1c55c3be467b34631ec28615e226e2687958
-rw-r--r--addons/account/report/account_balance.py14
-rw-r--r--addons/account/report/account_balance.rml169
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>