diff --git a/account_financial_report/model/account_financial_report.py b/account_financial_report/model/account_financial_report.py index 46acb7d0..2ca52c27 100644 --- a/account_financial_report/model/account_financial_report.py +++ b/account_financial_report/model/account_financial_report.py @@ -48,6 +48,7 @@ class account_financial_report(osv.osv): 'period_ids': fields.many2many('account.period', 'afr_period_rel', 'afr_id', 'period_id', 'Periods', help='All periods in the fiscal year if empty'), 'analytic_ledger': fields.boolean('Analytic Ledger', help="Allows to Generate an Analytic Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"), + 'journal_ledger': fields.boolean('journal Ledger', help="Allows to Generate an journal Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"), 'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'), 'lab_str': fields.char('Description', help='Description for the Summary', size=128), diff --git a/account_financial_report/report/balance_full_cols_journal_ledger.rml b/account_financial_report/report/balance_full_cols_journal_ledger.rml new file mode 100644 index 00000000..8852974f --- /dev/null +++ b/account_financial_report/report/balance_full_cols_journal_ledger.rml @@ -0,0 +1,294 @@ +<?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="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="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="2.25cm,2.0cm,7.75cm,2.5cm,4.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="1"> +<!-- + [[ (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">REFERENCE</para> + </td> + <td> + <para style="TITLES_NEW">JOURNAL ENTRY</para> + </td> + <td> + <para style="TITLES_NEW">PARTNER</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['mayor'], 'm') ]]</para> + <blockTable colWidths="2.25cm,2.0cm,7.75cm,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"> + <font> [[ formatLang( m['date'], date=True) ]]</font> + </para> + </td> + <td> + <para style="TITLES_NEW"> + <font>[[ m['period'] ]]</font> + </para> + </td> + <td> + <para style="TITLES_NEW"> + <font>[[ m['name'] ]] [[ m['ref'] and (' - Ref %s'%m['ref']) or '' ]] </font> + </para> + </td> + <td> + <para style="TITLES_NEW"> + <font>[[ m['entry'] ]]</font> + </para> +<!-- + <para style="TITLES_NEW"> + <font>[[ m['journal'] ]]</font> + </para> +--> + </td> + <td> + <para style="TITLES_NEW"> + <font>[[ m['partner'] ]]</font> + </para> + </td> + <td> + <para style="TITLE_LEFT_ALIGN"> + <font>[[ a['type']<>'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font> + <font>[[ (a['total']==True) and formatLang(m['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"}) or removeParentNode('font') ]]</font> + <font>[[ (a['total']==True) and formatLang(m['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"}) or removeParentNode('font') ]]</font> + <font>[[ (a['total']==True) and formatLang(m['balance'] and m['balance'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font> + </para> + </td> + </tr> + </blockTable> + </section> + <spacer length="2.5mm"/> + </section> + + </story> +</document> diff --git a/account_financial_report/report/parser.py b/account_financial_report/report/parser.py index ebb74b92..3ec76c66 100644 --- a/account_financial_report/report/parser.py +++ b/account_financial_report/report/parser.py @@ -827,6 +827,12 @@ report_sxw.report_sxw('report.afr.analytic.ledger', 'account_financial_report/report/balance_full_4_cols_analytic_ledger.rml', parser=account_balance, header=False) + +report_sxw.report_sxw('report.afr.journal.ledger', + 'wizard.report', + 'account_financial_report/report/balance_full_4_cols_journal_ledger.rml', + parser=account_balance, + header=False) report_sxw.report_sxw('report.afr.5cols', 'wizard.report', @@ -845,3 +851,4 @@ report_sxw.report_sxw('report.afr.13cols', 'account_financial_report/report/balance_full_13_cols.rml', parser=account_balance, header=False) + diff --git a/account_financial_report/view/account_financial_report_view.xml b/account_financial_report/view/account_financial_report_view.xml index 40cd1d8f..9a182d72 100644 --- a/account_financial_report/view/account_financial_report_view.xml +++ b/account_financial_report/view/account_financial_report_view.xml @@ -25,6 +25,15 @@ attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}" on_change='onchange_analytic_ledger(company_id,analytic_ledger)' /> </group> + <group string="Report Info" > + <field + name="inf_type" + on_change='onchange_inf_type(inf_type)' /> + <field name="columns" on_change='onchange_columns(columns,fiscalyear_id,period_ids)' /> + <field name="journal_ledger" + attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}" + on_change='(company_id,journal_ledger)' /> + </group> </group> <group> <group string="Accounts Info" > diff --git a/account_financial_report/view/report.xml b/account_financial_report/view/report.xml index 3d932a97..e97d73ce 100644 --- a/account_financial_report/view/report.xml +++ b/account_financial_report/view/report.xml @@ -45,6 +45,17 @@ string="Analytic Ledger" header="False" /> + + <report + auto="False" + id="journal_ledger_report" + menu="True" + model="wizard.report" + name="afr.journal.ledger" + rml="account_financial_report/report/balance_full_4_cols_journal_ledger.rml" + string="journal Ledger" + header="False" + /> <report auto="False" @@ -78,5 +89,7 @@ string="Balance 13 Columnas" header="False" /> + + </data> </openerp> diff --git a/account_financial_report/view/wizard.xml b/account_financial_report/view/wizard.xml index 4136bfb1..0eef999e 100644 --- a/account_financial_report/view/wizard.xml +++ b/account_financial_report/view/wizard.xml @@ -41,6 +41,10 @@ attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}" on_change='onchange_analytic_ledger(company_id,analytic_ledger)' /> + <field name="journal_ledger" + attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}" + on_change='onchange_journal_ledger(company_id,journal_ledger)' + /> </group> </group> <group> diff --git a/account_financial_report/wizard/wizard.py b/account_financial_report/wizard/wizard.py index be9ff1eb..d419ca12 100644 --- a/account_financial_report/wizard/wizard.py +++ b/account_financial_report/wizard/wizard.py @@ -50,6 +50,7 @@ class wizard_report(osv.osv_memory): 'periods': fields.many2many('account.period', 'rel_wizard_period', 'wizard_id', 'period_id', 'Periods', help='All periods in the fiscal year if empty'), 'analytic_ledger': fields.boolean('Analytic Ledger', help="Allows to Generate an Analytic Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"), + 'journal_ledger': fields.boolean('Journal Ledger', help="Allows to Generate an Journal Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"), 'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'), 'lab_str': fields.char('Description', help='Description for the Summary', size=128), @@ -268,6 +269,8 @@ class wizard_report(osv.osv_memory): if data['form']['columns'] == 'four': if data['form']['analytic_ledger'] and data['form']['inf_type'] == 'BS': name = 'afr.analytic.ledger' + elif data['form']['journal_ledger'] and data['form']['inf_type'] == 'BS': + name = 'afr.journal.ledger' else: name = 'afr.4cols' if data['form']['columns'] == 'five':