fix(manufacturing): fall back to item group defaults for work order w… (#58237)

This commit is contained in:
Pandiyan P
2026-08-17 15:26:15 +05:30
committed by GitHub
parent 56ac87292f
commit 861fb26b2c

View File

@@ -37,6 +37,7 @@ from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings
from erpnext.manufacturing.doctype.work_order.services.material_coverage import (
get_minimum_material_coverage_fraction,
)
from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults
from erpnext.stock.doctype.batch.batch import make_batch
from erpnext.stock.doctype.item.item import get_item_defaults, validate_end_of_life
from erpnext.stock.doctype.serial_no.serial_no import get_available_serial_nos, get_serial_nos
@@ -576,7 +577,18 @@ class WorkOrder(Document):
if not self.wip_warehouse and not self.skip_transfer:
self.wip_warehouse = frappe.get_cached_value("Company", self.company, "default_wip_warehouse")
if not self.fg_warehouse:
self.fg_warehouse = frappe.get_cached_value("Company", self.company, "default_fg_warehouse")
self.fg_warehouse = (
frappe.get_cached_value("Company", self.company, "default_fg_warehouse")
or self.get_production_item_warehouse()
)
def get_production_item_warehouse(self):
if not self.production_item:
return None
return get_item_defaults(self.production_item, self.company).get(
"default_warehouse"
) or get_item_group_defaults(self.production_item, self.company).get("default_warehouse")
def check_wip_warehouse_skip(self):
if self.skip_transfer and not self.from_wip_warehouse:
@@ -1714,7 +1726,12 @@ class WorkOrder(Document):
"allow_alternative_item": item.allow_alternative_item,
"required_qty": item.qty,
"source_warehouse": (
self.source_warehouse or item.source_warehouse or item.default_warehouse
self.source_warehouse
or item.source_warehouse
or item.default_warehouse
or get_item_group_defaults(item.item_code, self.company).get(
"default_warehouse"
)
)
if not reset_source_warehouse
else self.source_warehouse,