تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
2594 أدوات العرض

I want to create a new manufacturing order, and fill its fields from the external API.

The problem is that the onchange method does not trigger when filling the product_id field. I wanted it to automatically fill its BoM list.


Does anyone have a hint on this?


Thanks

الصورة الرمزية
إهمال
أفضل إجابة

You need to declare the BoM before you create the Manufacturing Order. Have you tried this?

Edit:

The products must be declared before as well.

What we do is: 

a) Create parent product (the one containing the BOM) [product.template]. 

b) Create child products (the ones inside the BOM) [product.template]. 

c) Create the BOM [mrp.bom]. 

d) Create the BOM lines [mrp.bom.line].


Hope that clarifies something.


And about the on change part. You should call it like this:

@api.onchange('partner_id')

def your_func():


'partner_id' is just an example, you need to find your object. I think you need 'product_tmpl_id' from mrp.bom.

الصورة الرمزية
إهمال
الكاتب

The BoM is already created for the product. Even when I write on the 'BoM_id' field, the one2many 'components' field below stays empty

المنشورات ذات الصلة الردود أدوات العرض النشاط
2
أبريل 24
7951
1
أغسطس 23
2105
5
نوفمبر 23
9122
1
يوليو 23
2566
1
فبراير 23
2353