mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-12 06:48:31 +00:00
fix: reserve extra items during SRE transfer
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user