dijous, 30 de març del 2017

Precisió decimal en un camp de Odoo (QWeb)

En afegir un camp a un mòdul d'Odoo, el sistema, per defecte, li assigna una precisió (a la vista) de dos decimals. És igual la precisió que tingui a la base de dades, sempre seran dos decimals.
Per a poder-ho modificar, cal indicar-ho al xml de la vista amb un atribut del tipus: digits="(16,7)"
Amb això tindrem que s'accepta un número de fins a 16 posicions, de les quals 7 són decimals.

Un exemple complet de la vista heretada:

<openerp>
    <data>

     <record model="ir.ui.view" id="add_field_partner_tree">
         <field name="name">res.partner.form.inherit</field>  
         <field name="model">res.partner</field>
         <field name="inherit_id" ref="base.view_partner_form"/>
         <field name="arch" type="xml">
           <xpath expr="//field[@name='lang']" position="after"> 
             <field name="descompte_defecte" />
           </xpath>
           <xpath expr="//field[@name='category_id']" position="after"> 
             <field name="factor_preus" digits="(16,7)" />
           </xpath>
         </field>
     </record>

    </data>

</openerp>