Skip to Content
Menu
This question has been flagged
1 Reply
4459 Views

suppose I have 10 samsung s4 in my stock with 10 different serial numnbers while generating a sale order i select samsung s4 in products there is one2many line in sale.order.line where i need to select available serial numbers(m2o field) of the particular phone now my problem is how to use domain so that selected serial numbers are not shown in list for selling eg : if i have selected serial no 1,2,3 under three lines of sale order line then in line 4 ..selected serial number should not be shown

Avatar
Discard
Best Answer

Hi,

Consider the following example.

inherit='sale.order.line'
@api.onchange('product_id')
def onchange_product_id(self):
if self.product_id:
domain = [
('product_id', '=', self.product_id.id),
('id', 'not in', self.order_id.order_line.mapped('product_serial_number_id').ids)
]
return {'domain': {'product_serial_number_id': domain}}
else:
return{}

This onchange method sets the domain filter on the product_serial_number_id field based on the selected Samsung S4 product and the serial numbers that have already been selected in other sale order lines. The order_id field is used to access the parent sale.order record, and its order_line field is used to access the existing sale order line records.

Regards

Avatar
Discard
Related Posts Replies Views Activity
7
Apr 23
18507
0
Sep 20
2235
1
Sep 19
3485
0
Apr 16
2653
3
Mar 16
13267