diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.py b/erpnext/stock/doctype/packing_slip/packing_slip.py index d1c122d046a..b356a205963 100644 --- a/erpnext/stock/doctype/packing_slip/packing_slip.py +++ b/erpnext/stock/doctype/packing_slip/packing_slip.py @@ -38,6 +38,7 @@ class PackingSlip(StatusUpdater): self.validate_delivery_note() self.validate_case_nos() + self.validate_mandatory() validate_uom_is_integer(self, "stock_uom", "qty") validate_uom_is_integer(self, "weight_uom", "net_weight") @@ -90,6 +91,13 @@ class PackingSlip(StatusUpdater): ) ) + def validate_mandatory(self): + for item in self.items: + if not item.dn_detail and not item.pi_detail: + frappe.throw( + _("Row {0}: Either Delivery Note Item or Packed Item reference is mandatory").format(item.idx) + ) + def set_missing_values(self): if not self.from_case_no: self.from_case_no = self.get_recommended_case_no()