def validate(self): import utilities utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "In Process", "Completed", "Cancelled"]) if self.doc.production_item : item_detail = sql("select name from `tabItem` where name = '%s' and docstatus != 2" % self.doc.production_item, as_dict = 1) if not item_detail: msgprint("Item '%s' does not exist or cancelled in the system." % cstr(self.doc.production_item), raise_exception=1) if self.doc.bom_no: bom = sql("""select name from `tabBOM` where name=%s and docstatus=1 and is_active=1 and item=%s""" , (self.doc.bom_no, self.doc.production_item), as_dict =1) if not bom: msgprint("""Incorrect BOM: %s entered. May be BOM not exists or inactive or not submitted or for some other item.""" % cstr(self.doc.bom_no), raise_exception=1) if self.doc.sales_order: if not webnotes.conn.sql("""select name from `tabSales Order` where name=%s and docstatus = 1""", self.doc.sales_order): msgprint("Sales Order: %s is not valid" % self.doc.sales_order, raise_exception=1) self.validate_production_order_against_so() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", ["qty", "produced_qty"])
def validate(self): # check for duplicate self.check_duplicate() self.validate_main_item() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "uom", "qty")
def validate(self): self.clear_operations() self.validate_main_item() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", "qty") self.validate_operations() self.validate_materials() self.set_bom_material_details() self.calculate_cost()
def validate(self): import utilities utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "In Process", "Completed", "Cancelled"]) self.validate_bom_no() self.validate_sales_order() self.validate_warehouse() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", ["qty", "produced_qty"])
def validate(self): if self.doc.docstatus == 0: self.doc.status = "Draft" import utilities utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "In Process", "Completed", "Cancelled"]) self.validate_bom_no() self.validate_sales_order() self.validate_warehouse() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", ["qty", "produced_qty"])
def raise_production_order(self): """It will raise production order (Draft) for all distinct FG items""" self.validate_data() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", "planned_qty") items = self.get_distinct_items_and_boms()[1] pro = self.create_production_order(items) if pro: pro = ["""<a href="#Form/Production Order/%s" target="_blank">%s</a>""" % \ (p, p) for p in pro] msgprint(_("Production Order(s) created:\n\n") + '\n'.join(pro)) else : msgprint(_("No Production Order created."))
def raise_production_order(self): """It will raise production order (Draft) for all distinct FG items""" self.validate_data() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", "planned_qty") items = self.get_distinct_items_and_boms()[1] pro = self.create_production_order(items) if pro: pro = ["""<a href="#Form/Production Order/%s" target="_blank">%s</a>""" % \ (p, p) for p in pro] msgprint("Production Order(s) created:\n\n" + '\n'.join(pro)) else: msgprint("No Production Order created.")
def validate(self): """ * Validate existence of submitted Delivery Note * Case nos do not overlap * Check if packed qty doesn't exceed actual qty of delivery note It is necessary to validate case nos before checking quantity """ self.validate_delivery_note() self.validate_items_mandatory() self.validate_case_nos() self.validate_qty() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", "qty") validate_uom_is_integer(self.doclist, "weight_uom", "net_weight")
def validate(self): self.validate_main_item() from utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "uom", "qty")