From 17e415d03aac4522a03c906e96accbe31e277d90 Mon Sep 17 00:00:00 2001 From: venkat102 Date: Mon, 29 Sep 2025 17:23:38 +0530 Subject: [PATCH] fix: update subcontracted_quantity with set_value (cherry picked from commit ea63bfc9afc18ae7bcd20548be745d55b6213502) --- .../subcontracting_order.py | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py index e9848c88952..4f41a5ea4d2 100644 --- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py +++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py @@ -338,13 +338,22 @@ class SubcontractingOrder(SubcontractingController): def update_subcontracted_quantity_in_po(self, cancel=False): for service_item in self.service_items: - doc = frappe.get_doc("Purchase Order Item", service_item.purchase_order_item) - doc.subcontracted_quantity = ( - (doc.subcontracted_quantity + service_item.qty) - if not cancel - else (doc.subcontracted_quantity - service_item.qty) + subcontracted_quantity = frappe.db.get_value( + "Purchase Order Item", service_item.purchase_order_item, "subcontracted_quantity" + ) + + subcontracted_quantity = ( + (subcontracted_quantity + service_item.qty) + if not cancel + else (subcontracted_quantity - service_item.qty) + ) + + frappe.db.set_value( + "Purchase Order Item", + service_item.purchase_order_item, + "subcontracted_quantity", + subcontracted_quantity, ) - doc.save() @frappe.whitelist()