diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 9139c95966..ec327c7e1b 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -404,14 +404,13 @@ class DocType(TransactionBase): #check in manage account if sales order / delivery note required or not. def so_dn_required(self): - dict = {'Sales Order':'so_required','Delivery Note':'dn_required'} - for i in dict: - res = webnotes.conn.sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = '%s'"%dict[i]) - if res and res[0][0] == 'Yes': + dic = {'Sales Order':'so_required','Delivery Note':'dn_required'} + for i in dic: + if webnotes.conn.get_value('Global Defaults', 'Global Defaults', dic[i]) == 'Yes': for d in getlist(self.doclist,'entries'): - if not d.fields[i.lower().replace(' ','_')]: - msgprint("%s No. required against item %s"%(i,d.item_code)) - raise Exception + if webnotes.conn.get_value('Item', d.item_code, 'is_stock_item') == 'Yes' \ + and not d.fields[i.lower().replace(' ','_')]: + msgprint("%s is mandatory for stock item which is not mentioed against item: %s"%(i,d.item_code), raise_exception=1) #check for does customer belong to same project as entered.. #------------------------------------------------------------------------------------------------- diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index ce83db041a..32315234be 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -141,8 +141,7 @@ class DocType(TransactionBase): def so_required(self): """check in manage account if sales order required or not""" - res = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'so_required'") - if res and res[0][0] == 'Yes': + if webnotes.conn.get_value('Global Defaults', 'Global Defaults', 'so_required') == 'Yes': for d in getlist(self.doclist,'delivery_note_details'): if not d.prevdoc_docname: msgprint("Sales Order No. required against item %s"%d.item_code)