Update sales_order.py
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index fdaadd8..99351a7 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -157,7 +157,7 @@
self.update_reserved_qty()
frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, self.company, self.base_grand_total, self)
-
+ self.update_project()
self.update_prevdoc_status('submit')
def on_cancel(self):
@@ -167,10 +167,20 @@
self.check_nextdoc_docstatus()
self.update_reserved_qty()
-
+ self.update_project()
self.update_prevdoc_status('cancel')
frappe.db.set(self, 'status', 'Cancelled')
+
+ def update_project(self):
+ project_list = []
+ for d in self.items:
+ if d.project and d.project not in project_list:
+ project = frappe.get_doc("Project", d.project)
+ project.flags.dont_sync_tasks = True
+ project.update_sales_costing()
+ project.save()
+ project_list.append(d.project)
def check_credit_limit(self):
from erpnext.selling.doctype.customer.customer import check_credit_limit