fix: validate duplicate serial no in DN

This commit is contained in:
s-aga-r
2023-09-15 16:31:53 +05:30
parent f2395a9297
commit fffa13f22b

View File

@@ -138,6 +138,7 @@ class DeliveryNote(SellingController):
self.validate_uom_is_integer("stock_uom", "stock_qty")
self.validate_uom_is_integer("uom", "qty")
self.validate_with_previous_doc()
self.validate_duplicate_serial_nos()
from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
@@ -412,6 +413,21 @@ class DeliveryNote(SellingController):
pluck="name",
)
def validate_duplicate_serial_nos(self):
serial_nos = []
for item in self.items:
if not item.serial_no:
continue
for serial_no in item.serial_no.split("\n"):
if serial_no in serial_nos:
frappe.throw(
_("Row #{0}: Serial No {1} is already selected.").format(item.idx, serial_no),
title=_("Duplicate Serial No"),
)
else:
serial_nos.append(serial_no)
def update_billed_amount_based_on_so(so_detail, update_modified=True):
from frappe.query_builder.functions import Sum