From ffd04b39602f4e5077942baf1a3c02c05e2dc058 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Mon, 11 Mar 2024 16:42:13 +0530 Subject: [PATCH] fix: subcontracting receipt -> alllow to change Batch / Serial Nos (v14) (#40371) fix: subcontracting receipt -> alllow to change Batch / Serial Nos --- .../subcontracting_receipt/subcontracting_receipt.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py index b84cbac4843..3e5e2b42c04 100644 --- a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py +++ b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py @@ -74,8 +74,9 @@ class SubcontractingReceipt(SubcontractingController): if ( frappe.db.get_single_value("Buying Settings", "backflush_raw_materials_of_subcontract_based_on") == "BOM" - ): + ) and not self.has_serial_batch_items(): self.supplied_items = [] + super(SubcontractingReceipt, self).validate() self.set_missing_values() self.validate_posting_time() @@ -125,6 +126,14 @@ class SubcontractingReceipt(SubcontractingController): self.calculate_supplied_items_qty_and_amount() self.calculate_items_qty_and_amount() + def has_serial_batch_items(self): + if not self.get("supplied_items"): + return False + + for row in self.get("supplied_items"): + if row.serial_no or row.batch_no: + return True + def set_available_qty_for_consumption(self): supplied_items_details = {}