Creación de Campos con Decimales Dinamicos
Como habĆamos mencionado en post anteriores podemos definir una presicion dinĆ”mica que nos permita gestionar de forma modificable el no. de decimales para la definición de los campos en una clase.
<?xml version="1.0" encoding="UTF-8"?> <odoo> <data> <!-- Mi presicion decimal--> <record model="decimal.precision" id="precision_discounts"> <field name="name">Discount</field> <field name="digits">6</field> </record> </data> </odoo>
Al instalar nuestro modulo o actualizarlo, nos creara el registro correspondiente al XML:
El valor digits es el numero de decimales que tendra el campo que lo utilice como su presición decimal.
# -*- coding: utf-8 -*- from openerp.exceptions import UserError from openerp import api, fields, models, _, tools class Accountinvoice(models.Model): _inherit = 'account.invoice' _name = 'account.invoice' invoice_discount_amount = fields.Float(digits='Discount', string='Descuento Total en Monto')
En el ejemplo anterior herede facturas y cree mi campo llamado Descuento Total con 6 Decimales en su parte flotante, el campo se visualiza de la siguiente manera en el Sistema:
Si modificamos la presición decimal a 4.
Veriamos el campo actualizado y los registros anteriores redondeados al nuevo numero de decimales.
Una presición puede ser reutilzada muchas veces no es necesario crear una por cada campo a menos que el proceso lo requiera.
Espero que les ayude esta información y no se olviden dejar sus comentarios.