@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
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Účtovníctvo
- Sklady
- PoS
- Project
- MRP
This question has been flagged
2
Replies
2230
Zobrazenia
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.
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
RegistráciaRelated 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 |