fix: removed serial no validation for sales invoice
This commit is contained in:
parent
87baa646e7
commit
b4f0347c02
@ -1121,7 +1121,6 @@ class SalesInvoice(SellingController):
|
|||||||
"""
|
"""
|
||||||
self.set_serial_no_against_delivery_note()
|
self.set_serial_no_against_delivery_note()
|
||||||
self.validate_serial_against_delivery_note()
|
self.validate_serial_against_delivery_note()
|
||||||
self.validate_serial_against_sales_invoice()
|
|
||||||
|
|
||||||
def set_serial_no_against_delivery_note(self):
|
def set_serial_no_against_delivery_note(self):
|
||||||
for item in self.items:
|
for item in self.items:
|
||||||
@ -1152,26 +1151,6 @@ class SalesInvoice(SellingController):
|
|||||||
frappe.throw(_("Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.").format(
|
frappe.throw(_("Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.").format(
|
||||||
item.idx, item.qty, item.item_code, len(si_serial_nos)))
|
item.idx, item.qty, item.item_code, len(si_serial_nos)))
|
||||||
|
|
||||||
def validate_serial_against_sales_invoice(self):
|
|
||||||
""" check if serial number is already used in other sales invoice """
|
|
||||||
for item in self.items:
|
|
||||||
if not item.serial_no:
|
|
||||||
continue
|
|
||||||
|
|
||||||
for serial_no in item.serial_no.split("\n"):
|
|
||||||
serial_no_details = frappe.db.get_value("Serial No", serial_no,
|
|
||||||
["sales_invoice", "item_code"], as_dict=1)
|
|
||||||
|
|
||||||
if not serial_no_details:
|
|
||||||
continue
|
|
||||||
|
|
||||||
if serial_no_details.sales_invoice and serial_no_details.item_code == item.item_code \
|
|
||||||
and self.name != serial_no_details.sales_invoice:
|
|
||||||
sales_invoice_company = frappe.db.get_value("Sales Invoice", serial_no_details.sales_invoice, "company")
|
|
||||||
if sales_invoice_company == self.company:
|
|
||||||
frappe.throw(_("Serial Number: {0} is already referenced in Sales Invoice: {1}")
|
|
||||||
.format(serial_no, serial_no_details.sales_invoice))
|
|
||||||
|
|
||||||
def update_project(self):
|
def update_project(self):
|
||||||
if self.project:
|
if self.project:
|
||||||
project = frappe.get_doc("Project", self.project)
|
project = frappe.get_doc("Project", self.project)
|
||||||
|
@ -933,12 +933,6 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
self.assertFalse(frappe.db.get_value("Serial No", serial_nos[0], "warehouse"))
|
self.assertFalse(frappe.db.get_value("Serial No", serial_nos[0], "warehouse"))
|
||||||
self.assertEqual(frappe.db.get_value("Serial No", serial_nos[0],
|
self.assertEqual(frappe.db.get_value("Serial No", serial_nos[0],
|
||||||
"delivery_document_no"), si.name)
|
"delivery_document_no"), si.name)
|
||||||
self.assertEqual(frappe.db.get_value("Serial No", serial_nos[0], "sales_invoice"),
|
|
||||||
si.name)
|
|
||||||
|
|
||||||
# check if the serial number is already linked with any other Sales Invoice
|
|
||||||
_si = frappe.copy_doc(si.as_dict())
|
|
||||||
self.assertRaises(frappe.ValidationError, _si.insert)
|
|
||||||
|
|
||||||
return si
|
return si
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user