fix: update reserved qty for production/ s/c
diff --git a/erpnext/patches/v13_0/add_bin_unique_constraint.py b/erpnext/patches/v13_0/add_bin_unique_constraint.py
index 979fcf5..57fbaae 100644
--- a/erpnext/patches/v13_0/add_bin_unique_constraint.py
+++ b/erpnext/patches/v13_0/add_bin_unique_constraint.py
@@ -6,8 +6,8 @@
get_ordered_qty,
get_planned_qty,
get_reserved_qty,
- update_bin_qty,
)
+from erpnext.stock.utils import get_bin
def execute():
@@ -32,10 +32,12 @@
""", as_dict=1)
for duplicate_bin in duplicate_bins:
+ item_code = duplicate_bin.item_code
+ warehouse = duplicate_bin.warehouse
existing_bins = frappe.get_list("Bin",
filters={
- "item_code": duplicate_bin.item_code,
- "warehouse": duplicate_bin.warehouse
+ "item_code": item_code,
+ "warehouse": warehouse
},
fields=["name"],
order_by="creation",)
@@ -47,11 +49,15 @@
frappe.delete_doc("Bin", broken_bin.name)
qty_dict = {
- "reserved_qty": get_reserved_qty(duplicate_bin.item_code, duplicate_bin.warehouse),
- "indented_qty": get_indented_qty(duplicate_bin.item_code, duplicate_bin.warehouse),
- "ordered_qty": get_ordered_qty(duplicate_bin.item_code, duplicate_bin.warehouse),
- "planned_qty": get_planned_qty(duplicate_bin.item_code, duplicate_bin.warehouse),
- "actual_qty": get_balance_qty_from_sle(duplicate_bin.item_code, duplicate_bin.warehouse)
+ "reserved_qty": get_reserved_qty(item_code, warehouse),
+ "indented_qty": get_indented_qty(item_code, warehouse),
+ "ordered_qty": get_ordered_qty(item_code, warehouse),
+ "planned_qty": get_planned_qty(item_code, warehouse),
+ "actual_qty": get_balance_qty_from_sle(item_code, warehouse)
}
- update_bin_qty(duplicate_bin.item_code, duplicate_bin.warehouse, qty_dict)
+ bin = get_bin(item_code, warehouse)
+ bin.update(qty_dict)
+ bin.update_reserved_qty_for_production()
+ bin.update_reserved_qty_for_sub_contracting()
+ bin.db_update()