mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-27 08:54:45 +00:00
Merge pull request #42928 from Axentorllc/Fix-BOM-Scrap
fix: getting scrap items from sub assemblies by fetching scrap items for parent BOM
This commit is contained in:
@@ -1549,6 +1549,9 @@ def get_scrap_items_from_sub_assemblies(bom_no, company, qty, scrap_items=None):
|
|||||||
fields=["bom_no", "qty"],
|
fields=["bom_no", "qty"],
|
||||||
order_by="idx asc",
|
order_by="idx asc",
|
||||||
)
|
)
|
||||||
|
# fetch Scrap Items for Parent Bom
|
||||||
|
items = get_bom_items_as_dict(bom_no, company, qty=qty, fetch_exploded=0, fetch_scrap_items=1)
|
||||||
|
scrap_items.update(items)
|
||||||
|
|
||||||
for row in bom_items:
|
for row in bom_items:
|
||||||
if not row.bom_no:
|
if not row.bom_no:
|
||||||
|
|||||||
@@ -755,6 +755,19 @@ class TestBOM(FrappeTestCase):
|
|||||||
self.assertTrue("_Test RM Item 2 Fixed Asset Item" not in items)
|
self.assertTrue("_Test RM Item 2 Fixed Asset Item" not in items)
|
||||||
self.assertTrue("_Test RM Item 3 Manufacture Item" in items)
|
self.assertTrue("_Test RM Item 3 Manufacture Item" in items)
|
||||||
|
|
||||||
|
def test_get_scrap_items_from_sub_assemblies(self):
|
||||||
|
from erpnext.manufacturing.doctype.bom.bom import get_scrap_items_from_sub_assemblies
|
||||||
|
|
||||||
|
bom = frappe.copy_doc(test_records[1])
|
||||||
|
bom.insert(ignore_mandatory=True)
|
||||||
|
|
||||||
|
bom_scraped_items = [i.get("item_code") for i in bom.get("scrap_items", [])]
|
||||||
|
|
||||||
|
# get scrapted items for parent bom
|
||||||
|
scraped_items = get_scrap_items_from_sub_assemblies(bom.name, bom.company, 2, None)
|
||||||
|
for item_code in scraped_items.keys():
|
||||||
|
self.assertIn(item_code, bom_scraped_items, f"Item {item_code} not found in BOM scrap items")
|
||||||
|
|
||||||
def test_bom_raw_materials_stock_uom(self):
|
def test_bom_raw_materials_stock_uom(self):
|
||||||
rm_item = make_item(
|
rm_item = make_item(
|
||||||
properties={"is_stock_item": 1, "valuation_rate": 1000.0, "stock_uom": "Nos"}
|
properties={"is_stock_item": 1, "valuation_rate": 1000.0, "stock_uom": "Nos"}
|
||||||
|
|||||||
Reference in New Issue
Block a user