Dynamic Domain From Header To Line Odoo16
Cara Membuat Dynamic Domain Berdasarkan Header Untuk Field O2M Pada Odoo16

Bismillaah.
Assalamu'alaikum, Jadi waktu itu saya ada task yang dimana membuat domain yang dinamis untuk field one2many namun berdasarkan field yang ada di header.
Setelah saya coba rnd dan segala macamnya ternyata saya menemui titik terangnya, sebenarnya untuk domain itu sendiri tidak bisa implified untuk ke o2m nya, maka yang harus dilakukan adalah membuat field parameter yang sama pada field o2m kita, ya saya mengakalinya menggunakan "RELATED".

berikut contoh kodingnya:

kita simak bersama sama ini untuk objek move terdapat field physical_inventory_type, move.order ini adalah objek header yaa, jadi berdasarkan field yang ada pada header ini ekspetasi kita akan membuat filter atau domain untuk field yang ada pada o2m.

nah untuk move.order.line ini adalah field o2m kita, terlihat disini ada field physical_inventory_type_rel, ini adalah field related dari field physical_inventory_type yang ada di move.order. kenapa kita menggunakan related ? karena ketika kita klik addline maka field yang relate tersebut langsung otomatis terisi berdasarkan sumbernya, nah field related ini yang kita pakai sebagai parameter pada onchange domain kita, dapat dilihat pada method _onchange_prod_id, disitu saya menggunakan kondisi apabila field physical_inventory_type_rel berisi value adjust_in maka kita mereturn domain kosongan untuk field product_id, dan sebaliknya apabila selain adjust_in maka baru kita isi domainnya.

berikut adalah contoh tampilannya:

nah apabila dia adjust_in maka product_id tidak mereturn domain apa apa dan kita coba untuk adjust out:

nah dari sini sudah terlihat perbedaan record yang muncul, untuk record "bangku gaming" tidak muncul karena terfilter domain yang kita implified untuk kondisinya. nah dan untuk field related yang kita tambahkan di o2m saya tetap mendeklarnya pada xml namun saya berikan invisible = True

Baik saya rasa hanya ini yang dapat saya sampaikan, semoga bisa membantu teman teman odoo. Terimakasih




Cara Membuat Underline Pada Field Required Odoo16