This question has been flagged
2 Replies
5054 Views

I'm trying to get a field "planned_qty" to the same value as "product_qty" when its created but I'm not having any luck. I thought all I needed to do was define the field like below and default = product_qty. But alas its not that easy. Can someone advise?

planned_qty = fields.Float( 'Planned Quantity', digits = dp.get_precision( 'Product Unit of Measure' ) )
Avatar
Discard
Best Answer

1) create fields like:

'product_qty': fields.float(string='Product Qty'),

'planned_qty': fields.float(string='Planned Quantity'),

2)define in xml

<field name="planned_qty" on_change="onchange_planned_qty(planned_qty)"/>
<field name="product_qty" on_change="onchange_product_qty(product_qty)"/>

3) call onchange function

def onchange_product_qty(self, cr, uid, ids, product_qty, context=None):
        if product_qty:
            return {'value': {''planned_qty': product_qty}}  

      else:
            return {'value':{''planned_qty': ''}}


    def onchange_'planned_qty(self, cr, uid, ids, 'planned_qty, context=None):
        if planned_qty:
            return {'value': {'product_qty': planned_qty}} 

       else:
            return {'value': {'product_qty': ''}}


Avatar
Discard
Best Answer

In odoo 14, try "post_init_hook"

Avatar
Discard