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:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
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/
Hope it helps
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
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
1
6月 22
|
5142 | ||
|
2
2月 21
|
2249 | ||
|
0
5月 20
|
3570 | ||
|
0
9月 19
|
4349 | ||
|
1
8月 16
|
3568 |