Fixed issue while updating Requested Qty on stoping material request and patch to recalculate
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index bccbe79..a9e979b 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -99,3 +99,4 @@
erpnext.patches.v4_2.fix_recurring_orders
erpnext.patches.v4_2.delete_gl_entries_for_cancelled_invoices
erpnext.patches.v4_2.update_advance_paid
+erpnext.patches.v4_2.repost_requested_qty
diff --git a/erpnext/patches/v4_2/repost_requested_qty.py b/erpnext/patches/v4_2/repost_requested_qty.py
new file mode 100644
index 0000000..8c1d6f7
--- /dev/null
+++ b/erpnext/patches/v4_2/repost_requested_qty.py
@@ -0,0 +1,21 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ from erpnext.utilities.repost_stock import update_bin_qty, get_indented_qty
+
+ count=0
+ for item_code, warehouse in frappe.db.sql("""select distinct item_code, warehouse
+ from `tabMaterial Request Item` where docstatus = 1"""):
+ try:
+ count += 1
+ update_bin_qty(item_code, warehouse, {
+ "indented_qty": get_indented_qty(item_code, warehouse),
+ })
+ if count % 200 == 0:
+ frappe.db.commit()
+ except:
+ frappe.db.rollback()
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index ff11f26..c46eaff 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -94,8 +94,8 @@
def update_status(self, status):
self.check_modified_date()
- self.update_requested_qty()
frappe.db.set(self, 'status', cstr(status))
+ self.update_requested_qty()
frappe.msgprint(_("Status updated to {0}").format(_(status)))
def on_cancel(self):