mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-28 06:08:25 +00:00
fix: validate items against source Sales Order in Material Request
(cherry picked from commit 65466464df)
This commit is contained in:
@@ -94,6 +94,22 @@ class MaterialRequest(BuyingController):
|
||||
def check_if_already_pulled(self):
|
||||
pass
|
||||
|
||||
def validate_with_previous_doc(self):
|
||||
super().validate_with_previous_doc(
|
||||
{
|
||||
"Sales Order": {
|
||||
"ref_dn_field": "sales_order",
|
||||
"compare_fields": [["company", "="]],
|
||||
},
|
||||
"Sales Order Item": {
|
||||
"ref_dn_field": "sales_order_item",
|
||||
"compare_fields": [["item_code", "="], ["uom", "="], ["conversion_factor", "="]],
|
||||
"is_child_table": True,
|
||||
"allow_duplicate_prev_row_id": True,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
def validate_qty_against_so(self):
|
||||
so_items = {} # Format --> {'SO/00001': {'Item/001': 120, 'Item/002': 24}}
|
||||
for d in self.get("items"):
|
||||
@@ -136,6 +152,7 @@ class MaterialRequest(BuyingController):
|
||||
|
||||
self.validate_schedule_date()
|
||||
self.check_for_on_hold_or_closed_status("Sales Order", "sales_order")
|
||||
self.validate_with_previous_doc()
|
||||
self.validate_uom_is_integer("uom", "qty")
|
||||
self.validate_material_request_type()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user