Humberto Arocha
11 years ago
7 changed files with 476 additions and 0 deletions
-
1account_financial_report/model/account_financial_report.py
-
398account_financial_report/report/balance_full_4_cols_journal_ledger.rml
-
49account_financial_report/report/parser.py
-
9account_financial_report/view/account_financial_report_view.xml
-
13account_financial_report/view/report.xml
-
3account_financial_report/view/wizard.xml
-
3account_financial_report/wizard/wizard.py
@ -0,0 +1,398 @@ |
|||
<?xml version="1.0"?> |
|||
<document filename="test.pdf"> |
|||
<template pageSize="(27.94cm,21.59cm)" title="Test" author="Martin Simon" allowSplitting="20" showBoundary="0"> |
|||
<pageTemplate id="first"> |
|||
<frame id="first" x1="1.0cm" y1="1.0cm" width="26.0cm" height="16.65cm"/> |
|||
<pageGraphics> |
|||
<setFont name="Helvetica" size="9"/> |
|||
|
|||
<image x="1.0cm" y="17.65cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image> |
|||
<!-- |
|||
<drawString x="1.0cm" y="24.5cm">[[company.logo and removeParentNode('para') or company.name]]</drawString> |
|||
--> |
|||
|
|||
<place x="-3.5cm" y="16.15cm" width="19cm" height="5.0cm"> |
|||
<blockTable colWidths="9.6cm,9.4cm" style="TITLE"> |
|||
<tr> |
|||
<td><para style="TOP_TITLE"></para></td> |
|||
<td><para style="TITLE_CENTER_NAME"> |
|||
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font> |
|||
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font> |
|||
</para></td> |
|||
</tr> |
|||
<tr> |
|||
<td><para style="TOP_TITLE"></para></td> |
|||
<td><para style="TITLE_CENTER">[[ get_informe_text(data['form']) ]]</para></td> |
|||
</tr> |
|||
<tr> |
|||
<td><para style="TOP_TITLE"></para></td> |
|||
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and (' %s'%( exchange_name(data['form']))) or '']])</para></td> |
|||
</tr> |
|||
<tr> |
|||
<td><para style="TOP_TITLE"></para></td> |
|||
<td><para style="TITLE_CENTER">[[data['form'] and get_month(data['form']) or '']]</para></td> |
|||
</tr> |
|||
</blockTable> |
|||
</place> |
|||
<drawRightString x="270mm" y="5mm"> Pag.: <pageNumber/></drawRightString> |
|||
</pageGraphics> |
|||
|
|||
</pageTemplate> |
|||
</template> |
|||
<stylesheet> |
|||
<blockTableStyle id="BODY_LINE"> |
|||
<blockValign value="TOP"/> |
|||
<blockAlignment value="RIGHT"/> |
|||
<blockTopPadding length="1.0"/> |
|||
<blockBottomPadding length="1.0"/> |
|||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,0" stop="-1,-1" thickness='0.25'/> |
|||
</blockTableStyle> |
|||
<blockTableStyle id="BODY_LINE_FILLED"> |
|||
<blockBackground colorName="lightgrey" start="0,0" stop="-1,-1"/> |
|||
<blockValign value="TOP"/> |
|||
<blockAlignment value="RIGHT"/> |
|||
<blockTopPadding length="1.0"/> |
|||
<blockBottomPadding length="1.0"/> |
|||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,0" stop="-1,-1" thickness='0.25'/> |
|||
</blockTableStyle> |
|||
<blockTableStyle id="TITLE"> |
|||
<blockValign value="TOP"/> |
|||
</blockTableStyle> |
|||
<blockTableStyle id="BODY"> |
|||
<blockValign value="TOP"/> |
|||
<blockAlignment value="RIGHT"/> |
|||
<blockTopPadding length="1.0"/> |
|||
<blockBottomPadding length="1.0"/> |
|||
<lineStyle kind="LINEBELOW" colorName="darkgrey" start="0,0" stop="-1,-1" thickness='0.25'/> |
|||
</blockTableStyle> |
|||
<blockTableStyle id="BODY_STRIKE"> |
|||
<blockValign value="TOP"/> |
|||
<blockAlignment value="RIGHT"/> |
|||
<blockTopPadding length="1.0"/> |
|||
<blockBottomPadding length="1.0"/> |
|||
<lineStyle kind="LINEBELOW" colorName="#FFFFFF" start="0,1" stop="-1,-1" thickness='0.5'/> |
|||
</blockTableStyle> |
|||
<blockTableStyle id="TOP_TABLE"> |
|||
<blockAlignment value="LEFT"/> |
|||
<blockValign value="TOP"/> |
|||
<lineStyle kind="LINEBELOW" colorName="#FFFFFF" start="0,-1" stop="0,-1" thickness='0.25'/> |
|||
</blockTableStyle> |
|||
|
|||
<initialize> |
|||
<paraStyle name="all" alignment="justify"/> |
|||
</initialize> |
|||
|
|||
<paraStyle |
|||
name="TITLE_LEFT_ALIGN_NEW" |
|||
fontName="Courier" |
|||
fontSize="7.0" |
|||
leading="10" |
|||
alignment="RIGHT" |
|||
spaceBefore="0.0" |
|||
spaceAfter="0.0"/> |
|||
<paraStyle name="TITLES_NEW" |
|||
fontName="Courier" |
|||
fontSize="7.0" |
|||
leading="10" |
|||
alignment="LEFT" |
|||
spaceBefore="0.0" |
|||
spaceAfter="0.0"/> |
|||
<paraStyle name="TITLES_NEW_P" |
|||
fontName="Helvetica-Bold" |
|||
fontSize="6.0" |
|||
leading="10" |
|||
alignment="LEFT" |
|||
spaceBefore="0.0" |
|||
spaceAfter="0.0"/> |
|||
<paraStyle name="TITLES_NEW_RIGHT" |
|||
fontName="Courier" |
|||
fontSize="7.0" |
|||
leading="10" |
|||
alignment="RIGHT" |
|||
spaceBefore="0.0" |
|||
spaceAfter="0.0"/> |
|||
<paraStyle |
|||
name="TITLE_LEFT_ALIGN" |
|||
fontName="Helvetica-Bold" |
|||
fontSize="7.0" |
|||
leading="10" |
|||
alignment="RIGHT" |
|||
spaceBefore="0.0" |
|||
spaceAfter="0.0"/> |
|||
<paraStyle name="TOP_TITLE" fontName="Helvetica-Bold" fontSize="7" leftIndent="0.0" alignment="LEFT"/> |
|||
<paraStyle |
|||
name="TITLES" |
|||
fontName="Helvetica-Bold" |
|||
fontSize="7.0" |
|||
leading="10" |
|||
alignment="LEFT" |
|||
spaceBefore="0.0" |
|||
spaceAfter="0.0"/> |
|||
<paraStyle name="TITLE_CENTER" fontName="Helvetica-Bold" fontSize="7" leading="10" leftIndent="0.0" alignment="CENTER"/> |
|||
<paraStyle name="TITLE_CENTER_NAME" fontName="Helvetica-Bold" fontSize="12" leading="13" leftIndent="0.0" alignment="CENTER"/> |
|||
<paraStyle |
|||
name="TITLE" |
|||
alignment="CENTER" |
|||
fontName="Helvetica" |
|||
fontSize="18.0" |
|||
leading="20" |
|||
spaceBefore="-3.0" |
|||
textColor="black"/> |
|||
</stylesheet> |
|||
<images/> |
|||
<story> |
|||
<para>[[setLang(user.lang)]]</para> |
|||
|
|||
<blockTable colWidths="2.5cm,13.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="0"> |
|||
<tr noRowsplits="0"> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
<font>CODE</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES">ACCOUNT</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN">INITIAL</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN">DEBIT</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN">CREDIT</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN">BALANCE</para> |
|||
</td> |
|||
</tr> |
|||
</blockTable> |
|||
<blockTable colWidths="6.0cm,3.0cm,3.0cm,2.5cm,4.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="0"> |
|||
<!-- |
|||
[[ (a['type'] <> 'view') or removeParentNode('blockTable') ]] |
|||
--> |
|||
<tr noRowsplits="1"> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>DATE</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>PERIOD</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW">JOURNAL ENTRY</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"></para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"></para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"></para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"></para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"></para> |
|||
</td> |
|||
</tr> |
|||
</blockTable> |
|||
<section> |
|||
<para>[[ repeatIn([x for x in lines(data['form']) if x['type'] != 'view'], 'a') ]]</para> |
|||
<blockTable colWidths="2.5cm,13.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="0"> |
|||
<tr> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
<font>[[ a['type']<>'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font> |
|||
<i>[[a['label']==True and a['code'] or '' ]]</i> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES"> |
|||
<font>[[ ((a['total'] and not a['label']) and setTag('para','para',{'alignment':"RIGHT"}) or (a['type']<>'view' and setTag('para','para',{'fontName':"Courier-Bold"}))) or removeParentNode('font') ]]</font> |
|||
<font>[[ a['type']=='view' and a['name'].upper() or a['name'].title() ]]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
<font>[[ a['type']<>'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ (a['total']==True) and formatLang(a['balanceinit'] and a['balanceinit'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
<font>[[ a['type']<>'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ (a['total']==True) and formatLang(a['debit'], digits=2, grouping=True) or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
<font>[[ a['type']<>'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ (a['total']==True) and formatLang(a['credit'], digits=2, grouping=True) or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
<font>[[ a['type']<>'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font> |
|||
</para> |
|||
</td> |
|||
</tr> |
|||
</blockTable> |
|||
|
|||
<section> |
|||
<para>[[ repeatIn(a['journal'], 'j') ]]</para> |
|||
<blockTable colWidths="6.0cm,3.0cm,3.0cm,2.5cm,4.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="1"> |
|||
<!-- |
|||
[[ (a['type'] <> 'view') or removeParentNode('blockTable') ]] |
|||
--> |
|||
<tr> |
|||
<td> |
|||
<para style="TITLES_NEW_P"> |
|||
<font> [[ formatLang( j['date'], date=True) ]]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_P"> |
|||
<font>[[ j['period'] ]]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_P"> |
|||
<font>[[ j['name'] ]] </font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_"> |
|||
<font></font> |
|||
</para> |
|||
|
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font></font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLE_LEFT_ALIGN"> |
|||
</para> |
|||
</td> |
|||
</tr> |
|||
</blockTable> |
|||
<section> |
|||
<para>[[ repeatIn(j.get('obj').line_id, 'k') ]]</para> |
|||
<blockTable colWidths="6.0cm,3.0cm,3.0cm,1.5cm,5.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE_FILLED" repeatRows="1"> |
|||
<tr> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font> [[ k.account_id.code == a['code'] and k.name or removeParentNode('blockTable') ]]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.ref and k.ref or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.partner_id and k.partner_id.name or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.account_id and k.account_id.code or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.account_id and k.account_id.name or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_RIGHT"> |
|||
<font>[[ k.account_id.type<>'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ k.debit and formatLang(k.debit, digits=2, grouping=True) or '' ]] </font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_RIGHT"> |
|||
<font>[[ k.account_id.type<>'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ k.credit and formatLang(k.credit, digits=2, grouping=True) or '' ]] </font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_RIGHT"> |
|||
<font>[[ k.account_id.type<>'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ k.reconcile_id and k.reconcile_id.name or k.reconcile_partial_id and k.reconcile_partial_id.name or '']]</font> |
|||
</para> |
|||
</td> |
|||
</tr> |
|||
</blockTable> |
|||
<blockTable colWidths="6.0cm,3.0cm,3.0cm,1.5cm,5.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="1"> |
|||
<tr> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font> [[ k.account_id.code != a['code'] and k.name or removeParentNode('blockTable') ]]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.ref and k.ref or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.partner_id and k.partner_id.name or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.account_id and k.account_id.code or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW"> |
|||
<font>[[ k.account_id and k.account_id.name or '']]</font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_RIGHT"> |
|||
<font>[[ k.account_id.type<>'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ k.debit and formatLang(k.debit, digits=2, grouping=True) or '' ]] </font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_RIGHT"> |
|||
<font>[[ k.account_id.type<>'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ k.credit and formatLang(k.credit, digits=2, grouping=True) or '' ]] </font> |
|||
</para> |
|||
</td> |
|||
<td> |
|||
<para style="TITLES_NEW_RIGHT"> |
|||
<font>[[ k.account_id.type<>'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font> |
|||
<font>[[ k.reconcile_id and k.reconcile_id.name or k.reconcile_partial_id and k.reconcile_partial_id.name or '']]</font> |
|||
</para> |
|||
</td> |
|||
</tr> |
|||
</blockTable> |
|||
</section> |
|||
<spacer length="1.5mm"/> |
|||
</section> |
|||
<spacer length="2.5mm"/> |
|||
</section> |
|||
|
|||
</story> |
|||
</document> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue