mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-27 05:45:19 +00:00
fix(manufacturing): fall back to item group defaults for work order w… (#58237)
This commit is contained in:
@@ -37,6 +37,7 @@ from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings
|
|||||||
from erpnext.manufacturing.doctype.work_order.services.material_coverage import (
|
from erpnext.manufacturing.doctype.work_order.services.material_coverage import (
|
||||||
get_minimum_material_coverage_fraction,
|
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.batch.batch import make_batch
|
||||||
from erpnext.stock.doctype.item.item import get_item_defaults, validate_end_of_life
|
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
|
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:
|
if not self.wip_warehouse and not self.skip_transfer:
|
||||||
self.wip_warehouse = frappe.get_cached_value("Company", self.company, "default_wip_warehouse")
|
self.wip_warehouse = frappe.get_cached_value("Company", self.company, "default_wip_warehouse")
|
||||||
if not self.fg_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):
|
def check_wip_warehouse_skip(self):
|
||||||
if self.skip_transfer and not self.from_wip_warehouse:
|
if self.skip_transfer and not self.from_wip_warehouse:
|
||||||
@@ -1714,7 +1726,12 @@ class WorkOrder(Document):
|
|||||||
"allow_alternative_item": item.allow_alternative_item,
|
"allow_alternative_item": item.allow_alternative_item,
|
||||||
"required_qty": item.qty,
|
"required_qty": item.qty,
|
||||||
"source_warehouse": (
|
"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
|
if not reset_source_warehouse
|
||||||
else self.source_warehouse,
|
else self.source_warehouse,
|
||||||
|
|||||||
Reference in New Issue
Block a user