mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-27 08:54:45 +00:00
fix: update remaining qty calculation
(cherry picked from commit f523c7889e)
This commit is contained in:
committed by
Mergify
parent
074faa162f
commit
d889623ffa
@@ -873,17 +873,20 @@ def make_material_request(source_name, target_doc=None):
|
|||||||
|
|
||||||
def get_remaining_packed_item_qty(so_item):
|
def get_remaining_packed_item_qty(so_item):
|
||||||
delivered_qty = frappe.db.get_value(
|
delivered_qty = frappe.db.get_value(
|
||||||
"Sales Order Item", {"docstatus": 1, "name": so_item.parent_detail_docname}, ["delivered_qty"]
|
"Sales Order Item", {"name": so_item.parent_detail_docname}, ["delivered_qty"]
|
||||||
)
|
)
|
||||||
|
|
||||||
bundle_item_qty = frappe.db.get_value("Product Bundle Item", {"parent": so_item.parent_item}, ["qty"])
|
bundle_item_qty = frappe.db.get_value(
|
||||||
|
"Product Bundle Item", {"parent": so_item.parent_item, "item_code": so_item.item_code}, ["qty"]
|
||||||
|
)
|
||||||
|
|
||||||
return flt(
|
return flt(
|
||||||
(
|
(
|
||||||
flt(so_item.qty)
|
flt(so_item.qty)
|
||||||
- flt(requested_item_qty.get(so_item.name, {}).get("qty"))
|
- flt(requested_item_qty.get(so_item.name, {}).get("qty"))
|
||||||
- max(
|
- max(
|
||||||
flt(delivered_qty) - flt(requested_item_qty.get(so_item.name, {}).get("received_qty")),
|
flt(delivered_qty) * flt(bundle_item_qty)
|
||||||
|
- flt(requested_item_qty.get(so_item.name, {}).get("received_qty")),
|
||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -919,8 +919,7 @@ class TestMaterialRequest(FrappeTestCase):
|
|||||||
is_purchase_item=0,
|
is_purchase_item=0,
|
||||||
)
|
)
|
||||||
|
|
||||||
pb = make_product_bundle(parent=bundle_item, items=[sub_item_a, sub_item_b])
|
make_product_bundle(parent=bundle_item, items=[sub_item_a, sub_item_b])
|
||||||
pb.submit()
|
|
||||||
|
|
||||||
so = make_sales_order(item_code=bundle_item)
|
so = make_sales_order(item_code=bundle_item)
|
||||||
so.submit()
|
so.submit()
|
||||||
|
|||||||
Reference in New Issue
Block a user