Merge branch 'master' into stable
diff --git a/accounts/doctype/fiscal_year/fiscal_year.py b/accounts/doctype/fiscal_year/fiscal_year.py
index 6b2dfde..48d7d91 100644
--- a/accounts/doctype/fiscal_year/fiscal_year.py
+++ b/accounts/doctype/fiscal_year/fiscal_year.py
@@ -133,8 +133,8 @@
 
 			# build dict
 			p = {
-				'debit': flt(entry[2])
-				,'credit':flt(entry[3])
+				'debit': entry[4]=='No' and flt(entry[2]) or 0
+				,'credit': entry[4]=='No' and flt(entry[3]) or 0
 				,'opening': entry[4]=='Yes' and diff or 0
 				
 				# end date conditino only if it is not opening
diff --git a/patches/patch.py b/patches/patch.py
index f1c0fd8..c085504 100644
--- a/patches/patch.py
+++ b/patches/patch.py
@@ -1,7 +1,7 @@
 # REMEMBER to update this
 # ========================
 
-last_patch = 359
+last_patch = 360
 
 #-------------------------------------------
 
@@ -315,3 +315,5 @@
 		reload_doc('stock', 'doctype', 'delivery_note_detail')
 	elif patch_no == 359:
 		sql("update `tabDocField` set print_hide =1 where fieldname in ('pack_no', 'pack_gross_wt', 'weight_uom', 'pack_nett_wt') and parent = 'Delivery Note Detail'")
+	elif patch_no == 360:
+		sql("update `tabDocField` set print_hide =1 where fieldname = 'print_packing_slip' and parent = 'Delivery Note'")
diff --git a/selling/doctype/quotation/quotation.js b/selling/doctype/quotation/quotation.js
index b3dcde6..0732e45 100644
--- a/selling/doctype/quotation/quotation.js
+++ b/selling/doctype/quotation/quotation.js
@@ -312,10 +312,11 @@
 //================ Last Quoted Price and Last Sold Price suggestion ======================
 cur_frm.fields_dict['quotation_details'].grid.get_field('item_code').get_query= function(doc, cdt, cdn) {
   var d = locals[cdt][cdn];
+  var cond = (doc.order_type == 'Maintenance')? " and tabItem.is_service_item = 'Yes'" : " and tabItem.is_sales_item = 'Yes'"
   if(doc.customer)
     return repl("SELECT i.name,i.item_code,concat('Last quoted at - ',cast(quote_rate as char)) as quote_rate,concat('Last sold at - ',cast(sales_rate as char)) as sales_rate FROM\
 		(\
-			select item_code,name from tabItem where tabItem.%(key)s like '%s'\
+			select item_code,name from tabItem where tabItem.%(key)s like '%s' %(cond)s\
 		)i\
 		left join\
 		(\
@@ -336,7 +337,7 @@
 			(\
 				select rd.item_code,max(voucher_date) as voucher_date from `tabRV Detail` rd, `tabReceivable Voucher` r where r.name=rd.parent and r.docstatus=1 and customer='%(cust)s' group by rd.item_code\
 			)m where r.item_code=m.item_code and r.voucher_date=m.voucher_date\
-		)s on i.item_code=s.item_code ORDER BY item_code LIMIT 50",{cust:doc.customer});
+		)s on i.item_code=s.item_code ORDER BY item_code LIMIT 50",{cust:doc.customer, cond:cond});
   else
-    return "SELECT name, item_code FROM tabItem WHERE `tabItem`.%(key)s LIKE '%s' ORDER BY tabItem.item_code DESC LIMIT 50";
-}
\ No newline at end of file
+    return repl("SELECT name, item_code FROM tabItem WHERE `tabItem`.%(key)s LIKE '%s' %(cond)s ORDER BY tabItem.item_code DESC LIMIT 50", {cond:cond});
+}
diff --git a/setup/doctype/manage_account/manage_account.py b/setup/doctype/manage_account/manage_account.py
index a0ed2fa..651794f 100644
--- a/setup/doctype/manage_account/manage_account.py
+++ b/setup/doctype/manage_account/manage_account.py
@@ -29,7 +29,7 @@
     set_default(defkey, defvalue)
 
     if defkey == 'fiscal_year':
-      ysd = sql("select year_start_date from `tabFiscal Year` where name=%s", defvalue)
+      ysd = sql("select year_start_date from `tabFiscal Year` where name=%s", cstr(defvalue))
       ysd = ysd and ysd[0][0] or ''
       if ysd:
         set_default('year_start_date', ysd.strftime('%Y-%m-%d'))
diff --git a/setup/doctype/sales_browser_control/sales_browser_control.py b/setup/doctype/sales_browser_control/sales_browser_control.py
index d4c4a13..e9f8242 100644
--- a/setup/doctype/sales_browser_control/sales_browser_control.py
+++ b/setup/doctype/sales_browser_control/sales_browser_control.py
@@ -131,7 +131,7 @@
 
     r = eval(args)
     
-    if r['lft'] == 0:
+    if r['lft'] == 0 and r['action'] != 'Create':
       n = sql("select lft,rgt from `tab%s` where name = '%s'"%(r['node_title'],r['nm']))
       r['lft'] = n[0][0]
       r['rgt'] = n[0][1]
@@ -212,4 +212,4 @@
     if res:
       msgprint("'%s' record is already exist."%(r['nm']))
       return 'true'
-    return 'false'      
\ No newline at end of file
+    return 'false'