update get_batch_no query to sort batch with expiry date
small fix to avoid error msg if item_code not selected and batch_no is entered
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index d555532..60ba2f6 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -232,7 +232,9 @@
 	from erpnext.controllers.queries import get_match_cond
 
 	if filters.has_key('warehouse'):
-		return frappe.db.sql("""select batch_no from `tabStock Ledger Entry` sle
+		return frappe.db.sql("""select batch_no, round(sum(actual_qty),2), stock_uom, expiry_date from `tabStock Ledger Entry` sle
+			    INNER JOIN `tabBatch`
+				on sle.batch_no = `tabBatch`.batch_id 
 				where item_code = '%(item_code)s'
 					and warehouse = '%(warehouse)s'
 					and batch_no like '%(txt)s'
@@ -242,7 +244,7 @@
 								and docstatus != 2)
 					%(mcond)s
 				group by batch_no having sum(actual_qty) > 0
-				order by batch_no desc
+				order by expiry_date,batch_no desc
 				limit %(start)s, %(page_len)s """ % {'item_code': filters['item_code'],
 					'warehouse': filters['warehouse'], 'posting_date': filters['posting_date'],
 					'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype),