When I try to add same product multiple time in sale order line, how can I merge all of them in a same sale order line by increasing the quantity only?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project
- MRP
This question has been flagged
Try with this code.
---------------------------------------------------------
def merge_duplicate_product_lines(self, res):
for line in res.order_line:
if line.id in res.order_line.ids:
line_ids = res.order_line.filtered(lambda m: m.product_id.id == line.product_id.id)
quantity = 0
for qty in line_ids:
quantity += qty.product_uom_qty
line_ids[0].write({'product_uom_qty': quantity,
'order_id': line_ids[0].order_id.id})
line_ids[1:].unlink()
@api.model
def create(self, vals):
res = super(SaleOrder, self).create(vals)
res.merge_duplicate_product_lines(res)
return res
def write(self, vals):
res = super(SaleOrder, self).write(vals)
self.merge_duplicate_product_lines(self)
return res
Thank you brother . it's working .
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Jun 23
|
1942 | ||
|
1
Dec 22
|
3232 | ||
|
0
Apr 22
|
2457 | ||
|
1
Apr 19
|
6141 | ||
|
2
Jul 25
|
3723 |
Its old code, but, see whether it helps: https://apps.odoo.com/apps/modules/9.0/merge_same_products/
Thank you.