fix: add warehouse and unset is scrap for process loss items
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 478d5b2..4f724ec 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -1043,7 +1043,7 @@
self.set_scrap_items()
self.set_actual_qty()
- self.adjust_qty_for_process_loss()
+ self.update_items_for_process_loss()
self.validate_customer_provided_item()
self.calculate_rate_and_amount()
@@ -1581,11 +1581,17 @@
material_requests.append(material_request)
frappe.db.set_value('Material Request', material_request, 'transfer_status', status)
- def adjust_qty_for_process_loss(self):
+ def update_items_for_process_loss(self):
process_loss_dict = {}
for d in self.get("items"):
if not d.is_process_loss:
continue
+
+ scrap_warehouse = frappe.db.get_single_value("Manufacturing Settings", "default_scrap_warehouse")
+ if scrap_warehouse is not None:
+ d.t_warehouse = scrap_warehouse
+ d.is_scrap_item = 0
+
if d.item_code not in process_loss_dict:
process_loss_dict[d.item_code] = [flt(0), flt(0)]
process_loss_dict[d.item_code][0] += flt(d.transfer_qty)
@@ -1594,7 +1600,7 @@
for d in self.get("items"):
if not d.is_finished_item or d.item_code not in process_loss_dict:
continue
- # Assumption: 1 FG has 1 row.
+ # Assumption: 1 finished item has 1 row.
d.transfer_qty -= process_loss_dict[d.item_code][0]
d.qty -= process_loss_dict[d.item_code][1]