fix: Added patch and fallback code to prevent future issues similiar to helpdesk ticket 28246

(cherry picked from commit 65dc3505c4)

# Conflicts:
#	erpnext/patches.txt
This commit is contained in:
Mihir Kandoi
2024-12-31 12:53:30 +05:30
committed by Mergify
parent 85ba96e0f3
commit 66544bfa10
3 changed files with 41 additions and 0 deletions

View File

@@ -103,6 +103,16 @@ class SubcontractingController(StockController):
_("Row {0}: Item {1} must be a subcontracted item.").format(item.idx, item.item_name)
)
if (
not item.sc_conversion_factor
): # this condition will only be true if user has recently updated from develop branch
service_item_qty = frappe.get_value(
"Subcontracting Order Service Item",
filters={"purchase_order_item": item.purchase_order_item, "parent": self.name},
fieldname=["qty"],
)
item.sc_conversion_factor = service_item_qty / item.qty
if (
self.doctype not in "Subcontracting Receipt"
and item.qty

View File

@@ -386,3 +386,8 @@ erpnext.patches.v14_0.update_stock_uom_in_work_order_item
erpnext.patches.v15_0.set_is_exchange_gain_loss_in_payment_entry_deductions
erpnext.patches.v15_0.enable_allow_existing_serial_no
erpnext.patches.v15_0.update_cc_in_process_statement_of_accounts
<<<<<<< HEAD
=======
erpnext.patches.v15_0.refactor_closing_stock_balance #5
erpnext.subcontracting.doctype.subcontracting_order.patches.set_sc_conversion_factor
>>>>>>> 65dc3505c4 (fix: Added patch and fallback code to prevent future issues similiar to helpdesk ticket 28246)

View File

@@ -0,0 +1,26 @@
import frappe
def execute():
# Calculate and set sc_conversion_factor for draft Subcontracting Orders if value is 0
subcontracting_order_items = frappe.get_all(
"Subcontracting Order Item",
filters={"docstatus": 0, "sc_conversion_factor": 0},
fields=["name", "parent", "purchase_order_item", "qty"],
)
for subcontracting_order_item in subcontracting_order_items:
service_item_qty = frappe.get_value(
"Subcontracting Order Service Item",
filters={
"purchase_order_item": subcontracting_order_item.purchase_order_item,
"parent": subcontracting_order_item.parent,
},
fieldname=["qty"],
)
frappe.set_value(
"Subcontracting Order Item",
subcontracting_order_item.name,
"sc_conversion_factor",
service_item_qty / subcontracting_order_item.qty,
)