fix: reserve extra items during SRE transfer

This commit is contained in:
Mihir Kandoi
2025-08-16 11:32:09 +05:30
parent 7ba61be796
commit bba72e9b2f

View File

@@ -1329,6 +1329,36 @@ class StockReservation:
self.update_delivered_qty(data)
self.make_stock_reservation_entry(data)
extra_items = set((entry.item_code, entry.warehouse) for entry in items_to_reserve) - set(
(row.item_code, row.warehouse) for row in reservation_entries
)
for entry in [
entry for entry in items_to_reserve if (entry.item_code, entry.warehouse) in extra_items
]:
available_qty = get_available_qty_to_reserve(entry.item_code, entry.warehouse)
if not available_qty:
frappe.msgprint(
_("No available quantity to reserve for item {0} in warehouse {1}").format(
frappe.bold(entry.item_code), frappe.bold(entry.warehouse)
),
alert=True,
)
continue
sre = frappe.new_doc("Stock Reservation Entry")
sre.company = self.doc.company
sre.voucher_type = entry.voucher_type
sre.voucher_no = entry.voucher_no
sre.voucher_detail_no = entry.voucher_detail_no
sre.available_qty = available_qty
sre.voucher_qty = entry.required_qty
sre.item_code = entry.item_code
sre.warehouse = entry.warehouse
sre.reserved_qty = min(sre.available_qty, entry.qty)
sre.has_serial_no = frappe.get_value("Item", sre.item_code, "has_serial_no")
sre.has_batch_no = frappe.get_value("Item", sre.item_code, "has_batch_no")
sre.insert()
sre.submit()
def update_delivered_qty(self, data):
for name, delivered_qty in data.get("sre_names").items():
doctype = frappe.qb.DocType("Stock Reservation Entry")