Skip to Content
Menu
This question has been flagged
2 Replies
2230 Zobrazenia

@api.onchange('product_id', 'picking_type_id', 'company_id')
def _onchange_product_id(self):
print(1)
""" Finds UoM of changed product. """
if not self.product_id:
self.bom_id = False
elif not self.bom_id or self.bom_id.product_tmpl_id != self.product_tmpl_id or (self.bom_id.product_id and self.bom_id.product_id != self.product_id):
picking_type_id = self._context.get('default_picking_type_id')
print(picking_type_id)
picking_type = picking_type_id and self.env['stock.picking.type'].browse(picking_type_id)
bom = self.env['mrp.bom']._bom_find(self.product_id, picking_type=picking_type, company_id=self.company_id.id, bom_type='normal')[self.product_id]
print(bom)
if bom:
print('pqwewe')
self.bom_id = bom.id
self.product_qty = self.bom_id.product_qty
self.product_uom_id = self.bom_id.product_uom_id.id
else:
self.bom_id = False
self.product_uom_id = self.product_id.uom_id.id
I want to perform the all function, but i only get the print(1), not working the other things

Avatar
Zrušiť
Best Answer

Hi,

Please check the value of self.product_id and bom.You can use print to check if the conditions are satisfied. 

The conditions may not be satisfied, and that might be the reason the other prints are not working.


Avatar
Zrušiť
Best Answer

Hi, 

You can watch following video for this:

https://youtu.be/ezH3ql5Dmx4

Thanks

Avatar
Zrušiť
Related Posts Replies Zobrazenia Aktivita
2
máj 23
2437
1
apr 23
2606
0
jún 22
1486
3
mar 24
2934
1
máj 23
2161