Is there a method to prevent a user to create a sales order if the populated items in the lines are not found in stock?
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
Hi,
To prevent sale order creation if an item is not in stock in Odoo, you can use the Sale Stock Restrict module from the Odoo App Store.This module is helps to restrict out of stock products.
Here is the link to the app:
https://apps.odoo.com/apps/modules/16.0/sale_stock_restrict/
Regards
Hi
You can use validation error or UserError for preventing the creation of a sale order with onchange or within the create function of Sale Order
Try with following code
class SaleOrderInherit(models.Model):
_inherit = 'sale.order'
@api.onchange('order_line')
def _onchange_check_lines(self):
for rec in self:
for line in rec.order_line:
if line.product_id.qty_available == 0:
raise ValidationError("Item is not in Stock")
Use this example too
class SaleOrderInherit(models.Model):
_inherit = 'sale.order'
@api.model
def create(self, vals_list):
res = super(SaleOrderInherit, self).create(vals_list)
order_id = res.order_line
for rec in order_id:
if rec.product_id.qty_available == 0:
raise ValidationError("Item is not in Stock")
return res
Regards
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 | |
---|---|---|---|---|
|
1
Jun 22
|
3836 | ||
|
2
Feb 21
|
1637 | ||
|
0
May 20
|
2842 | ||
|
0
Sep 19
|
3970 | ||
|
1
Aug 16
|
3062 |