fix(manufacturing): get items for disassembly order

(cherry picked from commit 99148a2aba)

# Conflicts:
#	erpnext/manufacturing/doctype/work_order/work_order.py
This commit is contained in:
Sudharsanan11
2025-12-11 16:35:02 +05:30
committed by Mergify
parent cdc04292f2
commit 279cf6fe00
2 changed files with 12 additions and 7 deletions

View File

@@ -1509,7 +1509,12 @@ def make_stock_entry(work_order_id, purpose, qty=None, target_warehouse=None):
stock_entry.to_warehouse = target_warehouse or work_order.source_warehouse stock_entry.to_warehouse = target_warehouse or work_order.source_warehouse
stock_entry.set_stock_entry_type() stock_entry.set_stock_entry_type()
<<<<<<< HEAD
stock_entry.get_items(qty, work_order.production_item) stock_entry.get_items(qty, work_order.production_item)
=======
stock_entry.is_additional_transfer_entry = is_additional_transfer_entry
stock_entry.get_items()
>>>>>>> 99148a2aba (fix(manufacturing): get items for disassembly order)
if purpose != "Disassemble": if purpose != "Disassemble":
stock_entry.set_serial_no_batch_for_finished_good() stock_entry.set_serial_no_batch_for_finished_good()

View File

@@ -1905,7 +1905,7 @@ class StockEntry(StockController):
}, },
) )
def get_items_for_disassembly(self, disassemble_qty, production_item): def get_items_for_disassembly(self):
"""Get items for Disassembly Order""" """Get items for Disassembly Order"""
if not self.work_order: if not self.work_order:
@@ -1918,7 +1918,7 @@ class StockEntry(StockController):
items_dict = get_bom_items_as_dict( items_dict = get_bom_items_as_dict(
self.bom_no, self.bom_no,
self.company, self.company,
disassemble_qty, self.fg_completed_qty,
fetch_exploded=self.use_multi_level_bom, fetch_exploded=self.use_multi_level_bom,
fetch_qty_in_stock_uom=False, fetch_qty_in_stock_uom=False,
) )
@@ -1935,8 +1935,8 @@ class StockEntry(StockController):
child_row.qty = bom_items.get("qty", child_row.qty) child_row.qty = bom_items.get("qty", child_row.qty)
child_row.amount = bom_items.get("amount", child_row.amount) child_row.amount = bom_items.get("amount", child_row.amount)
if row.item_code == production_item: if row.is_finished_item:
child_row.qty = disassemble_qty child_row.qty = self.fg_completed_qty
child_row.s_warehouse = (self.from_warehouse or s_warehouse) if row.is_finished_item else "" child_row.s_warehouse = (self.from_warehouse or s_warehouse) if row.is_finished_item else ""
child_row.t_warehouse = row.s_warehouse child_row.t_warehouse = row.s_warehouse
@@ -1972,12 +1972,12 @@ class StockEntry(StockController):
) )
@frappe.whitelist() @frappe.whitelist()
def get_items(self, qty=None, production_item=None): def get_items(self):
self.set("items", []) self.set("items", [])
self.validate_work_order() self.validate_work_order()
if self.purpose == "Disassemble" and qty is not None: if self.purpose == "Disassemble":
return self.get_items_for_disassembly(qty, production_item) return self.get_items_for_disassembly()
if not self.posting_date or not self.posting_time: if not self.posting_date or not self.posting_time:
frappe.throw(_("Posting date and posting time is mandatory")) frappe.throw(_("Posting date and posting time is mandatory"))