From 0329642116eeba0729c3cae8e092d29fc1ba7b2a Mon Sep 17 00:00:00 2001 From: Sagar Sharma Date: Sat, 17 Sep 2022 15:58:33 +0530 Subject: [PATCH 1/2] fix: make `po_detail` or `sco_rm_detail` mandatory for SE `Send to Subcontractor` (cherry picked from commit b90875575c20b05027aa1f9718db69e0d60ad133) # Conflicts: # erpnext/stock/doctype/stock_entry/stock_entry.py --- .../stock/doctype/stock_entry/stock_entry.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index fa7900bd3b2..9622537dac3 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -879,6 +879,32 @@ class StockEntry(StockController): se_item.idx, se_item.item_code, total_allowed, self.purchase_order ) ) +<<<<<<< HEAD +======= + elif not se_item.get(self.subcontract_data.rm_detail_field): + filters = { + "parent": self.get(self.subcontract_data.order_field), + "docstatus": 1, + "rm_item_code": se_item.item_code, + "main_item_code": se_item.subcontracted_item, + } + + order_rm_detail = frappe.db.get_value( + self.subcontract_data.order_supplied_items_field, filters, "name" + ) + if order_rm_detail: + se_item.db_set(self.subcontract_data.rm_detail_field, order_rm_detail) + else: + if not se_item.allow_alternative_item: + frappe.throw( + _("Row {0}# Item {1} not found in 'Raw Materials Supplied' table in {2} {3}").format( + se_item.idx, + se_item.item_code, + self.subcontract_data.order_doctype, + self.get(self.subcontract_data.order_field), + ) + ) +>>>>>>> b90875575c (fix: make `po_detail` or `sco_rm_detail` mandatory for SE `Send to Subcontractor`) elif backflush_raw_materials_based_on == "Material Transferred for Subcontract": for row in self.items: if not row.subcontracted_item: From ec6cac80436b138372e11ea03cf76ba6d0fb9256 Mon Sep 17 00:00:00 2001 From: Sagar Sharma Date: Sun, 18 Sep 2022 16:38:09 +0530 Subject: [PATCH 2/2] chore: conflicts --- .../stock/doctype/stock_entry/stock_entry.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 9622537dac3..174fef1084f 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -879,32 +879,27 @@ class StockEntry(StockController): se_item.idx, se_item.item_code, total_allowed, self.purchase_order ) ) -<<<<<<< HEAD -======= - elif not se_item.get(self.subcontract_data.rm_detail_field): + elif not se_item.get("po_detail"): filters = { - "parent": self.get(self.subcontract_data.order_field), + "parent": self.purchase_order, "docstatus": 1, "rm_item_code": se_item.item_code, "main_item_code": se_item.subcontracted_item, } - order_rm_detail = frappe.db.get_value( - self.subcontract_data.order_supplied_items_field, filters, "name" - ) + order_rm_detail = frappe.db.get_value("Purchase Order Item Supplied", filters, "name") if order_rm_detail: - se_item.db_set(self.subcontract_data.rm_detail_field, order_rm_detail) + se_item.db_set("po_detail", order_rm_detail) else: if not se_item.allow_alternative_item: frappe.throw( _("Row {0}# Item {1} not found in 'Raw Materials Supplied' table in {2} {3}").format( se_item.idx, se_item.item_code, - self.subcontract_data.order_doctype, - self.get(self.subcontract_data.order_field), + "Purchase Order", + self.purchase_order, ) ) ->>>>>>> b90875575c (fix: make `po_detail` or `sco_rm_detail` mandatory for SE `Send to Subcontractor`) elif backflush_raw_materials_based_on == "Material Transferred for Subcontract": for row in self.items: if not row.subcontracted_item: