fix: material request item quantity validation against sales order with over-receipt allowance

(cherry picked from commit 8d7e31e3f2)
This commit is contained in:
Pugazhendhi Velu
2025-11-06 19:59:42 +00:00
committed by Mergify
parent 1b1e4e4688
commit f2fef54b83

View File

@@ -75,6 +75,21 @@ class MaterialRequest(BuyingController):
work_order: DF.Link | None
# end: auto-generated types
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.status_updater = [
{
"source_dt": "Material Request Item",
"target_dt": "Sales Order Item",
"target_field": "ordered_qty",
"target_parent_dt": "Sales Order",
"target_parent_field": "",
"join_field": "sales_order_item",
"target_ref_field": "stock_qty",
"source_field": "stock_qty",
}
]
def check_if_already_pulled(self):
pass
@@ -175,10 +190,10 @@ class MaterialRequest(BuyingController):
def on_submit(self):
self.update_requested_qty_in_production_plan()
self.update_requested_qty()
if self.material_request_type == "Purchase" and frappe.db.exists(
"Budget", {"applicable_on_material_request": 1, "docstatus": 1}
):
self.validate_budget()
if self.material_request_type == "Purchase":
self.update_prevdoc_status()
if frappe.db.exists("Budget", {"applicable_on_material_request": 1, "docstatus": 1}):
self.validate_budget()
def before_save(self):
self.set_status(update=True)