mirror of
https://github.com/frappe/erpnext.git
synced 2026-09-16 18:24:10 +00:00
fix: changing product bundle warehouse should change packed items war… (#58316)
This commit is contained in:
@@ -286,6 +286,23 @@ erpnext.sales_common = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.set_actual_qty(doc, cdt, cdn);
|
this.set_actual_qty(doc, cdt, cdn);
|
||||||
|
|
||||||
|
if (cdt !== "Packed Item" && doc.packed_items) {
|
||||||
|
doc.packed_items
|
||||||
|
.filter(
|
||||||
|
(item) =>
|
||||||
|
item.parent_detail_docname === cdn ||
|
||||||
|
parseInt(item.parent_detail_docname) === locals[cdt][cdn].idx
|
||||||
|
)
|
||||||
|
.forEach((item) => {
|
||||||
|
frappe.model.set_value(
|
||||||
|
item.doctype,
|
||||||
|
item.name,
|
||||||
|
"warehouse",
|
||||||
|
locals[cdt][cdn].warehouse
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
set_actual_qty(doc, cdt, cdn) {
|
set_actual_qty(doc, cdt, cdn) {
|
||||||
|
|||||||
@@ -279,16 +279,23 @@ def update_packed_item_basic_data(main_item_row, pi_row, packing_item, item_data
|
|||||||
def update_packed_item_stock_data(main_item_row, pi_row, packing_item, item_data, doc):
|
def update_packed_item_stock_data(main_item_row, pi_row, packing_item, item_data, doc):
|
||||||
# TODO batch_no, actual_batch_qty, incoming_rate
|
# TODO batch_no, actual_batch_qty, incoming_rate
|
||||||
if main_item_row.get("so_detail"):
|
if main_item_row.get("so_detail"):
|
||||||
pi_row.warehouse = frappe.get_value(
|
warehouse, reserve_stock = (
|
||||||
"Packed Item",
|
frappe.get_value(
|
||||||
{
|
"Packed Item",
|
||||||
"parent_detail_docname": main_item_row.so_detail,
|
{
|
||||||
"parent_item": main_item_row.item_code,
|
"parent_detail_docname": main_item_row.so_detail,
|
||||||
"item_code": packing_item.item_code,
|
"parent_item": main_item_row.item_code,
|
||||||
},
|
"item_code": packing_item.item_code,
|
||||||
"warehouse",
|
},
|
||||||
|
["warehouse", "reserve_stock"],
|
||||||
|
)
|
||||||
|
or None,
|
||||||
|
None,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if reserve_stock:
|
||||||
|
pi_row.warehouse = warehouse
|
||||||
|
|
||||||
if not pi_row.warehouse and not doc.amended_from:
|
if not pi_row.warehouse and not doc.amended_from:
|
||||||
fetch_warehouse = doc.get("is_pos") or item_data.is_stock_item or not item_data.default_warehouse
|
fetch_warehouse = doc.get("is_pos") or item_data.is_stock_item or not item_data.default_warehouse
|
||||||
pi_row.warehouse = (
|
pi_row.warehouse = (
|
||||||
|
|||||||
Reference in New Issue
Block a user