mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-25 16:04:46 +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.update_delivered_qty(data)
|
||||||
self.make_stock_reservation_entry(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):
|
def update_delivered_qty(self, data):
|
||||||
for name, delivered_qty in data.get("sre_names").items():
|
for name, delivered_qty in data.get("sre_names").items():
|
||||||
doctype = frappe.qb.DocType("Stock Reservation Entry")
|
doctype = frappe.qb.DocType("Stock Reservation Entry")
|
||||||
|
|||||||
Reference in New Issue
Block a user