fix: Update pick list locations quantity

(cherry picked from commit bd9e240ca5)
This commit is contained in:
Kavin
2025-10-21 20:15:52 +05:30
committed by Mergify
parent 798858bd4f
commit ce7ab8df9a

View File

@@ -831,6 +831,16 @@ def raise_work_orders(material_request):
@frappe.whitelist()
def create_pick_list(source_name, target_doc=None):
def update_item(obj, target, source_parent):
qty = (
flt(flt(obj.stock_qty) - flt(obj.ordered_qty)) / target.conversion_factor
if flt(obj.stock_qty) > flt(obj.ordered_qty)
else 0
)
target.qty = qty
target.stock_qty = qty * obj.conversion_factor
target.conversion_factor = obj.conversion_factor
doc = get_mapped_doc(
"Material Request",
source_name,
@@ -843,6 +853,11 @@ def create_pick_list(source_name, target_doc=None):
"Material Request Item": {
"doctype": "Pick List Item",
"field_map": {"name": "material_request_item", "stock_qty": "stock_qty"},
"postprocess": update_item,
"condition": lambda doc: (
flt(doc.ordered_qty, doc.precision("ordered_qty"))
< flt(doc.stock_qty, doc.precision("ordered_qty"))
),
},
},
target_doc,