Merge pull request #26663 from rohitwaghchaure/develop-fixed-serial-no-not-link-to-batch-error
fix: serial no and batch validation
This commit is contained in:
commit
801ca6528a
@ -53,12 +53,17 @@ class StockController(AccountsController):
|
|||||||
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
||||||
for d in self.get("items"):
|
for d in self.get("items"):
|
||||||
if hasattr(d, 'serial_no') and hasattr(d, 'batch_no') and d.serial_no and d.batch_no:
|
if hasattr(d, 'serial_no') and hasattr(d, 'batch_no') and d.serial_no and d.batch_no:
|
||||||
serial_nos = get_serial_nos(d.serial_no)
|
serial_nos = frappe.get_all("Serial No",
|
||||||
for serial_no_data in frappe.get_all("Serial No",
|
fields=["batch_no", "name", "warehouse"],
|
||||||
filters={"name": ("in", serial_nos)}, fields=["batch_no", "name"]):
|
filters={
|
||||||
if serial_no_data.batch_no != d.batch_no:
|
"name": ("in", get_serial_nos(d.serial_no))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
for row in serial_nos:
|
||||||
|
if row.warehouse and row.batch_no != d.batch_no:
|
||||||
frappe.throw(_("Row #{0}: Serial No {1} does not belong to Batch {2}")
|
frappe.throw(_("Row #{0}: Serial No {1} does not belong to Batch {2}")
|
||||||
.format(d.idx, serial_no_data.name, d.batch_no))
|
.format(d.idx, row.name, d.batch_no))
|
||||||
|
|
||||||
if flt(d.qty) > 0.0 and d.get("batch_no") and self.get("posting_date") and self.docstatus < 2:
|
if flt(d.qty) > 0.0 and d.get("batch_no") and self.get("posting_date") and self.docstatus < 2:
|
||||||
expiry_date = frappe.get_cached_value("Batch", d.get("batch_no"), "expiry_date")
|
expiry_date = frappe.get_cached_value("Batch", d.get("batch_no"), "expiry_date")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user