Browse Source

Merge pull request #26400 from marination/lcv-validate-invoice-develop

fix: Validate LCV for Invoices without Update Stock
develop
Marica 3 years ago
committed by GitHub
parent
commit
717826c1dc
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py

21
erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py

@ -41,7 +41,7 @@ class LandedCostVoucher(Document):
def validate(self):
self.check_mandatory()
self.validate_purchase_receipts()
self.validate_receipt_documents()
init_landed_taxes_and_totals(self)
self.set_total_taxes_and_charges()
if not self.get("items"):
@ -56,14 +56,23 @@ class LandedCostVoucher(Document):
frappe.throw(_("Please enter Receipt Document"))
def validate_purchase_receipts(self):
def validate_receipt_documents(self):
receipt_documents = []
for d in self.get("purchase_receipts"):
if frappe.db.get_value(d.receipt_document_type, d.receipt_document, "docstatus") != 1:
frappe.throw(_("Receipt document must be submitted"))
else:
receipt_documents.append(d.receipt_document)
docstatus = frappe.db.get_value(d.receipt_document_type, d.receipt_document, "docstatus")
if docstatus != 1:
msg = f"Row {d.idx}: {d.receipt_document_type} {frappe.bold(d.receipt_document)} must be submitted"
frappe.throw(_(msg), title=_("Invalid Document"))
if d.receipt_document_type == "Purchase Invoice":
update_stock = frappe.db.get_value(d.receipt_document_type, d.receipt_document, "update_stock")
if not update_stock:
msg = _("Row {0}: Purchase Invoice {1} has no stock impact.").format(d.idx, frappe.bold(d.receipt_document))
msg += "<br>" + _("Please create Landed Cost Vouchers against Invoices that have 'Update Stock' enabled.")
frappe.throw(msg, title=_("Incorrect Invoice"))
receipt_documents.append(d.receipt_document)
for item in self.get("items"):
if not item.receipt_document:

Loading…
Cancel
Save