This question has been flagged
1 Reply
10039 Views

Hello I need add the page number on my report, I have seen that this is only "<span>Page </span><span class="page" /> of <span class="topage" />" but it doesn't work, can someone say me how solve that.

Here is my XML:

    

<openerp>
    <data>
        <report
                id="report_sale_utilities"
                model="velfasa.wizard"
                string="Reporte de utilidad"
                name="velfasa.utilities"
                file="velfasa.utilities"
                report_type="qweb-pdf"
                menu="False"/>

        <template id="utilities">
            <t t-call="report.html_container">
                <t t-foreach="docs" t-as="doc">
                    <t t-call="report.external_layout">
                        <div class="page">
                            <div style="float:right;">
                                <table>
                                    <tr>
                                        <td style="border-right: 1px dotted #F2F2F2;">
                                            <div style="padding: 5px;"><t t-esc="time.strftime('%Y-%m-%d')"></t></div>
                                        </td>
                                        <td>
                                            <div style="padding: 5px;"><t t-esc="user.name"></t></div>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                            <br/>
                            <h1>Reporte de utilidades</h1>
                            <br/>
                            <table>
                                <tr>
                                    <td style="border-right: 1px dotted #F2F2F2; font-size: 15px;">
                                        <div style="padding-left: 5px; padding-right: 5px; padding-bottom 5px; ">Fecha de inicio:</div>
                                    </td>
                                    <td>
                                        <div style="padding-left: 5px; padding-right: 5px; padding-bottom 5px; "><t t-esc="doc.inicio" /></div>
                                    </td>
                                </tr>
                                <tr>
                                    <td style="border-right: 1px dotted #F2F2F2; font-size: 15px;">
                                        <div style="padding-left: 5px; padding-right: 5px; padding-bottom 5px; ">Fecha de fin:</div>
                                    </td>
                                    <td>
                                        <div style="padding-left: 5px; padding-right: 5px; padding-bottom 5px; "><t t-esc="doc.fin" /></div>
                                    </td>
                                </tr>
                            </table>
                            <br/>
                            <t t-set="costos" t-value="json.loads(doc.costos)" />
                            <t t-set="ventas" t-value="json.loads(doc.ventas)" />
                            <t t-set="cantidades" t-value="json.loads(doc.cantidades)" />
                            <style>
                                th{
                                border-bottom: 1px solid black;
                                font-size: 15px;
                                padding: 5px;
                                }
                                thead{
                                display: table-header-group;
                                }
                                .tabla{
                                width: 100%;
                                }
                                .tabla > td{
                                border-bottom: 1px dotted #F2F2F2;
                                padding: 5px;
                                }
                                .cantidad{
                                text-align: right;
                                }
                                .total{
                                border-top: 1px solid black;
                                border-bottom: 1px solid black;
                                font-weight: bold;
                                }
                                .producto{
                                width: 550px;
                                }
                            </style>
                            <table class="tabla">
                                <thead>
                                    <tr>
                                        <th class="producto">Producto</th>
                                        <th>Cantidad</th>
                                        <th>Precio de venta</th>
                                        <th>Costo</th>
                                        <th>Utilidad</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <t t-set="ventaF" t-value="0"/>
                                    <t t-set="costoF" t-value="0"/>
                                    <t t-set="cantidadF" t-value="0"/>
                                    <t t-foreach="doc.product_ids" t-as="product_id" >
                                        <t t-set="venta" t-value="ventas[str(product_id.id)]"/>
                                        <t t-set="costo" t-value="costos[str(product_id.id)]"/>
                                        <t t-set="cantidadA" t-value="cantidades[str(product_id.id)]"/>
                                        <t t-set="ventaF" t-value="ventaF + venta"/>
                                        <t t-set="costoF" t-value="costoF + costo"/>
                                        <t t-set="cantidadF" t-value="cantidadF + cantidadA"/>
                                        <t t-set="utilidad" t-value="venta-costo" />
                                        <tr>
                                            <td class="producto">
                                                <t t-esc="product_id.name" />
                                            </td>
                                            <td class="cantidad">
                                                <t t-esc="'{0:,}'.format(int(cantidadA))" />
                                            </td>
                                            <td class="cantidad">
                                                <t t-esc="'{0:,.2f}'.format(round(float(venta), 2))" />
                                            </td>
                                            <td class="cantidad">
                                                <t t-esc="'{0:,.2f}'.format(round(float(costo), 2))" />
                                            </td>
                                            <td class="cantidad">
                                                <t t-esc="'{0:,.2f}'.format(round(float(utilidad), 2))" />
                                            </td>
                                        </tr>
                                        <t t-if="product_id_last">
                                            <!--<table style="float: bottom;">-->
                                            <tr>
                                                <td class="total">
                                                    Totales
                                                </td>
                                                <td class="cantidad total">
                                                    <t t-esc="'{0:,}'.format(int(cantidadF))" />
                                                </td>
                                                <td class="cantidad total">
                                                    <t t-esc="'{0:,.2f}'.format(round(float(ventaF), 2))" />
                                                </td>
                                                <td class="cantidad total">
                                                    <t t-esc="'{0:,.2f}'.format(round(float(costoF), 2))" />
                                                </td>
                                                <td class="cantidad total">
                                                    <t t-set="utilidad" t-value="ventaF - costoF" />
                                                    <t t-esc="'{0:,.2f}'.format(round(float(utilidad), 2))" />
                                                </td>
                                            </tr>
                                            <!--</table>-->
                                        </t>
                                    </t>
                                </tbody>
                            </table>
                            <div class="footer">
                                <div class="text-right" style="border-top: 1px solid black;">
                                    <ul class="list-inline">
                                        <li>Page:</li>
                                        <li><span class="page"/></li>
                                        <li>/</li>
                                        <li><span class="topage"/></li>
                                    </ul>
                                </div>
                            </div>
                        </div>

                    </t>
                </t>
            </t>
        </template>
        <template id="external_layout_footer">
            <div class="footer">
                <div class="text-right" style="border-top: 1px solid black;">
                    <ul class="list-inline">
                        <li>Page:</li>
                        <li><span class="page"/></li>
                        <li>/</li>
                        <li><span class="topage"/></li>
                    </ul>
                </div>
            </div>
        </template>
        <record id="paperformat_utilities" model="report.paperformat" >
            <field name="name" >Utilidades</field>
            <field name="orientation" >Portrait</field>
            <field name="margin_top">10</field>
            <field name="format">Letter</field>
        </record>
        <record id="report_sale_utilities" model="ir.actions.report.xml">
            <field name="paperformat_id" ref="paperformat_utilities" />
        </record>
    </data>
</openerp>

 

Avatar
Discard
Best Answer

hi Javier,

you can get the answer in the following link:

https://www.odoo.com/forum/help-1/question/how-to-add-page-number-in-qweb-reports-in-odoo-74996#answer-75267

Avatar
Discard
Author

Hello i am trying this method but it doesn't work. And I don't know if you can help me to show the thead of a table on each page.