mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-16 07:58:38 +00:00
fix: respect selected BOM when creating work order for variant item (#57359)
* fix: respect selected BOM when creating work order for variant item
* fix: add type hints to make_work_order
(cherry picked from commit 1132eb1a0f)
This commit is contained in:
@@ -1461,7 +1461,13 @@ def get_item_details(item, project=None, skip_bom_info=False, throw=True):
|
|||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def make_work_order(
|
def make_work_order(
|
||||||
bom_no, item, qty=0, company=None, project=None, variant_items=None, use_multi_level_bom=None
|
bom_no: str,
|
||||||
|
item: str,
|
||||||
|
qty: float = 0,
|
||||||
|
company: str | None = None,
|
||||||
|
project: str | None = None,
|
||||||
|
variant_items: str | list | None = None,
|
||||||
|
use_multi_level_bom: bool | None = None,
|
||||||
):
|
):
|
||||||
from erpnext import get_default_company
|
from erpnext import get_default_company
|
||||||
|
|
||||||
@@ -1470,7 +1476,8 @@ def make_work_order(
|
|||||||
|
|
||||||
item_details = get_item_details(item, project)
|
item_details = get_item_details(item, project)
|
||||||
|
|
||||||
if frappe.db.get_value("Item", item, "variant_of"):
|
# selected BOM already belongs to this variant — keep it
|
||||||
|
if frappe.db.get_value("Item", item, "variant_of") and frappe.db.get_value("BOM", bom_no, "item") != item:
|
||||||
if variant_bom := frappe.db.get_value(
|
if variant_bom := frappe.db.get_value(
|
||||||
"BOM",
|
"BOM",
|
||||||
{"item": item, "is_default": 1, "docstatus": 1},
|
{"item": item, "is_default": 1, "docstatus": 1},
|
||||||
|
|||||||
Reference in New Issue
Block a user