CRM | e-Commerce | Accounting | Inventory | PoS | Project management | MRP | etc.
Am trying to prevent selecting of the same value in one2many field, when the 'select an item' button is clicked .For example when trying to select the same product that has been already selected in sale order.
I have done the same requirement in my project. I restricted duplication of product addition at o2m in sales form. (v7)
def onchange_one2many(self, cr, uid, ids, order_line):
mylist = 
if order_line != :
for line in order_line:
for loop in line:
if isinstance(loop, dict):
if len(mylist) != len(set(mylist)):
raise osv.except_osv(_('Warning'),_('Product Should be Unique'))
<field name="order_line" on_change="onchange_one2many(order_line)" />
Thanks Rifakat Haradwala
Note: Correct me if anyone has better answer
Well you need specific development for that. It's not something you could configure.
You need to override write() of the main model and in write() you can iterate on the IDs of o2m field and put a check on the Product if it repeats and raise warning. Write() will be called when you save main form, so you won't be notified while you actually inserting line items. I am not sure onchange of o2m field would help because ID of newly inserted line item is not yet created while you add it, but you can give it onchange(o2m) also try.
About This Community
Odoo Training Center
|Asked: 9/27/16, 9:04 AM|
|Seen: 725 times|
|Last updated: 2/16/18, 1:05 AM|