Merge pull request #32145 from s-aga-r/fix/stock-entry/sco

fix: validate Subcontracting Order Status in Stock Entry
This commit is contained in:
Sagar Sharma 2022-09-09 14:55:26 +05:30 committed by GitHub
commit 1dce3c98d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 1 deletions

View File

@ -815,7 +815,8 @@ erpnext.stock.StockEntry = class StockEntry extends erpnext.stock.StockControlle
return {
"filters": {
"docstatus": 1,
"company": me.frm.doc.company
"company": me.frm.doc.company,
"status": ["not in", ["Completed", "Closed"]]
}
};
});

View File

@ -117,6 +117,7 @@ class StockEntry(StockController):
self.validate_work_order()
self.validate_bom()
self.validate_purchase_order()
self.validate_subcontracting_order()
if self.purpose in ("Manufacture", "Repack"):
self.mark_finished_and_scrap_items()
@ -959,6 +960,20 @@ class StockEntry(StockController):
)
)
def validate_subcontracting_order(self):
if self.get("subcontracting_order") and self.purpose in [
"Send to Subcontractor",
"Material Transfer",
]:
sco_status = frappe.db.get_value("Subcontracting Order", self.subcontracting_order, "status")
if sco_status == "Closed":
frappe.throw(
_("Cannot create Stock Entry against a closed Subcontracting Order {0}.").format(
self.subcontracting_order
)
)
def mark_finished_and_scrap_items(self):
if any([d.item_code for d in self.items if (d.is_finished_item and d.t_warehouse)]):
return