This question has been flagged
6339 Views

I just want to know how to set the values in one2many by using computed field calculation. Here my code is

Python file

from openerp import models ,fields,api

from openerp import SUPERUSER_ID

from dateutil.relativedelta import relativedelta

import openerp.addons.decimal_precision as dpimport math

import logging

import datetime

class extend_product_product(models.Model):

    _inherit = 'product.product'

    monthly_lines = fields.One2many('minmax.monthly.data','month_id', 'Monthy Sales',compute="_get_monthly_sales")

    @api.one

    def _get_monthly_sales(self):

        vals = {}

         vals.update({'monthly_lines':[(0,0,{'month_name_id':1,'so_qty':35})]})

         self.write(vals) # Also I have tried self.monthly_lines = [(0,0,{'month_name_id':1,'so_qty':35})]

class minmax_monthly_data(models.Model):

    _name = 'minmax.monthly.data'

    month_id = fields.Many2one('product.product', 'Product Reference', select=True, required=True)

    month_name_id = fields.Many2one('minmax.months','Minmax Month',required=True)

     so_qty = fields.Float('Sales Qty', digits_compute=dp.get_precision('Product Unit of Measure'), required=True)


XML file

<?xml version="1.0" encoding="utf-8"?>

<openerp>

     <data>

         <record model="ir.ui.view" id="product_monthly_minmax_tree">

             <field name="name">product.product.tree</field>

             <field name="model">product.product</field>

             <field name="inherit_id" ref="product.product_product_tree_view"/>

             <field name="type">form</field>

             <field name="arch" type="xml">

             <field name="ean13" position="after">

             <field name="monthly_lines" widget="one2many_tags" />

           </field>

        </field>

</record>

</data>

</openerp>


Here I have tried to insert the data manually. The function is called properly whenever we load the product.product tree view. But there is no results. Thanks in advance.

Avatar
Discard