Merge pull request #50065 from rohitwaghchaure/aerele-support-48884

fix(stock-reconciliation): include inventory dimensions in duplicate validation
This commit is contained in:
rohitwaghchaure
2025-10-14 13:32:15 +05:30
committed by GitHub
2 changed files with 9 additions and 2 deletions

View File

@@ -295,7 +295,7 @@ class SerialandBatchBundle(Document):
}
)
if self.returned_against and self.docstatus == 1:
if (self.returned_against or self.voucher_type == "Stock Reconciliation") and self.docstatus == 1:
kwargs["ignore_voucher_detail_no"] = self.voucher_detail_no
if self.docstatus == 1:
@@ -2802,7 +2802,10 @@ def get_stock_ledgers_for_serial_nos(kwargs):
else:
query = query.where(stock_ledger_entry[field] == kwargs.get(field))
if kwargs.voucher_no:
if kwargs.ignore_voucher_detail_no:
query = query.where(stock_ledger_entry.voucher_detail_no != kwargs.ignore_voucher_detail_no)
elif kwargs.voucher_no:
query = query.where(stock_ledger_entry.voucher_no != kwargs.voucher_no)
return query.run(as_dict=True)

View File

@@ -588,6 +588,10 @@ class StockReconciliation(StockController):
if row.get(field):
key.append(row.get(field))
for dimension in get_inventory_dimensions():
if row.get(dimension.get("fieldname")):
key.append(row.get(dimension.get("fieldname")))
if key in item_warehouse_combinations:
self.validation_messages.append(
_get_msg(row_num, _("Same item and warehouse combination already entered."))