ODOO 8 – Editions Qweb – Suppression entête (9/9)

Il est parfois utile de supprimer l'entête (par exemple, avoir une entête uniquement sur la 1ère page).
Pour cela, il faut modifier le fichier x_sale_report.xml :

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <template id="x_header" inherit_id="report.external_layout_header">
            <xpath expr="//div[@class='header']" position="replace" />

        </template>

        <!-- etc ... -->

    </data>
</openerp>

Il faut ensuite créer un nouveau fichier x_report_paperformat.xml, en se basant sur le fichier par défaut odoo/addons/report/data/report_paperformat.xml et en modifiant les 2 lignes en gras ci-dessous :

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record id="paperformat_xxx" model="report.paperformat">
            <field name="name">A4 xxx</field>
            <field name="default" eval="True" />
            <field name="format">A4</field>
            <field name="page_height">0</field>
            <field name="page_width">0</field>
            <field name="orientation">Portrait</field>
            <field name="margin_top">5</field>
            <field name="margin_bottom">23</field>
            <field name="margin_left">7</field>
            <field name="margin_right">7</field>
            <field name="header_line" eval="False" />
            <field name="header_spacing">0</field>
            <field name="dpi">90</field>
        </record>
    </data>
</openerp>

puis ajouter dans le fichier __openerp__.py , la référence à ce fichier (cf en gras) :
{
    "name" : "Customization Sale Report",
    "version" : "1.0",
    "category" : "Generic Modules",
    'depends' : ['sale',],
    "data" : ['x_sale_report.xml','x_report_paperformat.xml',],
    "installable": True,
    "active": True
}

Pour terminer, il faut modifier la configuration de la société en affectant au champ "paper format", la nouvelle valeur créée "A4 xxx"

 

9 réflexions sur « ODOO 8 – Editions Qweb – Suppression entête (9/9) »

    1. Oui cela fonctionne pour moi.
      J'avais un devis sur 3 pages avec entête uniquement sur la 1ère page
      J'ai trouvé cette solution pour supprimer l'entête.

    2. Le principe est de supprimer définitivement l'entête et de mettre son contenu uniquement dans le corps de la 1ère page du rapport (balise * div class="page" *)

  1. Bonjour,
    lorsque j'essaie d'applique votre méthode pour créer un nouveau format de papier, j'ai le message d'erreur suivant
    ———————————–
    ParseError: "report.paperformat" while parsing /usr/lib/python2.7/site-packages/openerp/custom-addons/osconseils/x_report_paperformat.xml:4, near

    A4 xxx

    A4
    0
    0
    Portrait
    5
    23
    7
    7

    0
    90

    ———————————–
    Auriez-vous un conseil ?

Répondre à Pascal Tremblay Annuler la réponse

Votre adresse e-mail ne sera pas publiée.