diff --git a/manufacturing/doctype/bom/bom.py b/manufacturing/doctype/bom/bom.py index 75bf3054114..b4eeaff4621 100644 --- a/manufacturing/doctype/bom/bom.py +++ b/manufacturing/doctype/bom/bom.py @@ -32,7 +32,7 @@ class DocType: def autoname(self): last_name = sql("""select max(name) from `tabBOM` - where name like 'BOM/%s/%%'""" % self.doc.item) + where name like "BOM/%s/%%" """ % cstr(self.doc.item).replace('"', '\\"')) if last_name: idx = cint(cstr(last_name[0][0]).split('/')[-1]) + 1 else: @@ -67,16 +67,16 @@ class DocType: self.manage_default_bom() def get_item_det(self, item_code): - item = sql("""select name, is_asset_item, is_purchase_item, docstatus, description, - is_sub_contracted_item, stock_uom, default_bom, + item = webnotes.conn.sql("""select name, is_asset_item, is_purchase_item, + docstatus, description, is_sub_contracted_item, stock_uom, default_bom, last_purchase_rate, standard_rate, is_manufactured_item - from `tabItem` where item_code = %s""", item_code, as_dict = 1) + from `tabItem` where name=%s""", item_code, as_dict = 1) return item def get_item_details(self, item_code): - res = sql("""select description, stock_uom as uom - from `tabItem` where item_code = %s""", item_code, as_dict = 1) + res = webnotes.conn.sql("""select description, stock_uom as uom + from `tabItem` where name=%s""", item_code, as_dict = 1) return res and res[0] or {} def get_workstation_details(self,workstation): @@ -209,7 +209,7 @@ class DocType: msgprint("""Operation no: %s against item: %s at row no: %s \ is not present at Operations table""" % (m.operation_no, m.item_code, m.idx), raise_exception = 1) - + item = self.get_item_det(m.item_code) if item[0]['is_manufactured_item'] == 'Yes': if not m.bom_no: diff --git a/master.sql.gz b/master.sql.gz index f331784cf17..030ee05b2f5 100644 Binary files a/master.sql.gz and b/master.sql.gz differ diff --git a/setup/doctype/naming_series/naming_series.py b/setup/doctype/naming_series/naming_series.py index 599118152d5..7b804f8a96a 100644 --- a/setup/doctype/naming_series/naming_series.py +++ b/setup/doctype/naming_series/naming_series.py @@ -29,12 +29,12 @@ class DocType: def get_transactions(self, arg=None): return { - "transactions": "\n".join([''] + [i[0] for i in - sql("""select `tabDocField`.`parent` - FROM `tabDocField`, `tabDocType` - WHERE `tabDocField`.`fieldname` = 'naming_series' - and `tabDocType`.name=`tabDocField`.parent - order by `tabDocField`.parent""")]), + "transactions": "\n".join([''] + sorted(list(set( + webnotes.conn.sql_list("""select parent + from `tabDocField` where fieldname='naming_series'""") + + webnotes.conn.sql_list("""select dt from `tabCustom Field` + where fieldname='naming_series'""") + )))), "prefixes": "\n".join([''] + [i[0] for i in sql("""select name from tabSeries""")]) } @@ -89,7 +89,6 @@ class DocType: 'property': prop, 'value': prop_dict[prop], 'property_type': 'Select', - 'select_doctype': doctype }) ps.save(1) @@ -101,11 +100,18 @@ class DocType: from core.doctype.doctype.doctype import DocType dt = DocType() - parent = sql("""select dt.name from `tabDocField` df, `tabDocType` dt - where dt.name = df.parent and df.fieldname='naming_series' and dt.name != %s""", - self.doc.select_doc_for_series) - sr = ([webnotes.model.doctype.get_property(p[0], 'options', 'naming_series'), p[0]] - for p in parent) + parent = list(set( + webnotes.conn.sql_list("""select dt.name + from `tabDocField` df, `tabDocType` dt + where dt.name = df.parent and df.fieldname='naming_series' and dt.name != %s""", + self.doc.select_doc_for_series) + + webnotes.conn.sql_list("""select dt.name + from `tabCustom Field` df, `tabDocType` dt + where dt.name = df.dt and df.fieldname='naming_series' and dt.name != %s""", + self.doc.select_doc_for_series) + )) + sr = [[webnotes.model.doctype.get_property(p, 'options', 'naming_series'), p] + for p in parent] options = self.scrub_options_list(self.doc.set_options.split("\n")) for series in options: dt.validate_series(series, self.doc.select_doc_for_series)