In Odoo-8 first, we create the own module and then create fields and make these fields a functional fields. Ones we create functional fields after this the functional field is replaced by computed field.
Like, first create a computed field and after creating a compute field, set its attribute compute to the name of a method and The computation method should simply set the value of the field to compute on every record in self.
Use this code in .py file show in given below:
Example:
 name = fields.Char(compute='_get_data', string='Name')
    value = fields.Char(string='Value')
    @api.one
    @api.depends('value')
    def _get_data(self):
        cursor = self._cr
        user = self._uid    
        today = datetime.datetime.today()
        start_date = str(today.replace(day=1).strftime('%m/%d/%Y'))
        next_month = today.replace(day=28) + datetime.timedelta(days=4)
        end_date = str(next_month - datetime.timedelta(days=next_month.day-1))
        sale_obj = self.pool.get('sale.order')
        order_ids = sale_obj.search(cursor, user, [('date_order','>=',start_date),('date_order','<=',end_date),('partner_id','=',self.id),('state','!=','draft')])
        total = 0.0
        for sale in sale_obj.browse(cursor, user, order_ids):
            total += sale.amount_total
        self.mtd_sales = total
@api.depends('value') means that the decorator specifies the dependency on the 'value' field.
and it is used by the ORM to trigger recomputation of the field.
_get_data is the function name.
Self refres to the same object and class of the module.
@api is the API of the odoo-8 and we can use this API any where in server.
                       
                    
0 Comment(s)