In my custom model i have button when i clicking that it will generate MO also i want to perform that the onchange function in the product_id or the bom_id , is it possible
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- 회계
- 재고 관리
- PoS
- Project
- MRP
신고된 질문입니다
1
회신
2768
화면
Hi,
You can call the function from anywhere using it’s object.
suppose you have a onchange function defined on product model then you can call it as below:
self.product_id._onchange_function()
Hope this will help you
Thanks
관련 게시물 | 답글 | 화면 | 활동 | |
---|---|---|---|---|
|
2
8월 23
|
2395 | ||
|
2
5월 23
|
2592 | ||
|
0
6월 22
|
1590 | ||
|
3
3월 24
|
3224 | ||
|
1
5월 23
|
2341 |
@Mehjabin Farsana, that didi'nt work, i want to perform the function in on change, ex;
@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