fix: FG Item incorrect qty in the work order by rohitwaghchaure [frappe] PR#39200 [backport/v4]
Backport of !1211 (merged)
Conflicts detected for source commit: 9f969e75f0e616151b5d09e308bf71ea64101efa
diff --cc erpnext/accounts/report/general_ledger/general_ledger.py
index 139d381172,6a3545dff1..0000000000
--- a/erpnext/accounts/report/general_ledger/general_ledger.py
+++ b/erpnext/accounts/report/general_ledger/general_ledger.py
@@@ -276,6 -276,9 +276,12 @@@ def get_conditions(filters)
if filters.get("voucher_no"):
conditions.append("voucher_no=%(voucher_no)s")
++<<<<<<< HEAD
++=======
+ if filters.get("against_voucher_no"):
+ conditions.append("against_voucher=%(against_voucher_no)s")
+
++>>>>>>> 9f969e75f0e616151b5d09e308bf71ea64101efa
if filters.get("voucher_no_not_in"):
conditions.append("voucher_no not in %(voucher_no_not_in)s")
diff --cc erpnext/manufacturing/doctype/production_plan/test_production_plan.py
index f6dfaa5058,fedeb7a477..0000000000
--- a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
@@@ -1522,6 -1522,45 +1522,48 @@@ class TestProductionPlan(FrappeTestCase
for d in mr_items:
self.assertEqual(d.get("quantity"), 1000.0)
++<<<<<<< HEAD
++=======
+ def test_fg_item_quantity(self):
+ from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
+ from erpnext.stock.utils import get_or_make_bin
+
+ fg_item = make_item(properties={"is_stock_item": 1}).name
+ rm_item = make_item(properties={"is_stock_item": 1}).name
+
+ make_bom(item=fg_item, raw_materials=[rm_item], source_warehouse="_Test Warehouse - _TC")
+
+ pln = create_production_plan(item_code=fg_item, planned_qty=10, do_not_submit=1)
+
+ pln.append(
+ "po_items",
+ {
+ "item_code": rm_item,
+ "planned_qty": 20,
+ "bom_no": pln.po_items[0].bom_no,
+ "warehouse": pln.po_items[0].warehouse,
+ "planned_start_date": add_to_date(nowdate(), days=1),
+ },
+ )
+ pln.submit()
+ wo_qty = {}
+
+ for row in pln.po_items:
+ wo_qty[row.name] = row.planned_qty
+
+ pln.make_work_order()
+
+ work_orders = frappe.get_all(
+ "Work Order",
+ fields=["qty", "production_plan_item as name"],
+ filters={"production_plan": pln.name},
+ )
+ self.assertEqual(len(work_orders), 2)
+
+ for row in work_orders:
+ self.assertEqual(row.qty, wo_qty[row.name])
+
++>>>>>>> 9f969e75f0e616151b5d09e308bf71ea64101efa
def create_production_plan(**args):
"""