Mumtiple fixes
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.json b/erpnext/manufacturing/doctype/production_order/production_order.json
index 2ad2a3b..4a809cf 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.json
+++ b/erpnext/manufacturing/doctype/production_order/production_order.json
@@ -928,7 +928,7 @@
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 1, 
+   "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
@@ -996,7 +996,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-02-08 04:36:35.071206", 
+ "modified": "2016-02-23 07:29:38.091748", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Order", 
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index b1678f1..210597e 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -155,16 +155,16 @@
 			
 		frappe.db.set(self,'status', 'Submitted')
 		self.make_time_logs()
-		self.update_planned_qty()
 		self.update_completed_qty_in_material_request()
+		self.update_planned_qty()
 
 	def on_cancel(self):
 		self.validate_cancel()
 
 		frappe.db.set(self,'status', 'Cancelled')
 		self.delete_time_logs()
-		self.update_planned_qty()
 		self.update_completed_qty_in_material_request()
+		self.update_planned_qty()
 
 	def validate_cancel(self):
 		if self.status == "Stopped":
diff --git a/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
index 1a7c894..739c97f 100644
--- a/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
+++ b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
@@ -66,7 +66,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "fieldname": "material_request_date", 
-   "fieldtype": "Read Only", 
+   "fieldtype": "Date", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
@@ -76,7 +76,7 @@
    "no_copy": 0, 
    "oldfieldname": "document_date", 
    "oldfieldtype": "Date", 
-   "options": "material_request.transaction_date", 
+   "options": "", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -100,7 +100,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2016-02-11 04:21:34.372317", 
+ "modified": "2016-02-23 02:06:15.169120", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Plan Material Request", 
diff --git a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
index 85bf7d6..5eaa274 100644
--- a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
+++ b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
@@ -41,7 +41,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "fieldname": "sales_order_date", 
-   "fieldtype": "Read Only", 
+   "fieldtype": "Date", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
@@ -51,12 +51,12 @@
    "no_copy": 0, 
    "oldfieldname": "document_date", 
    "oldfieldtype": "Date", 
-   "options": "sales_order.transaction_date", 
+   "options": "", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "print_width": "120px", 
-   "read_only": 0, 
+   "read_only": 1, 
    "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
@@ -92,7 +92,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "fieldname": "customer", 
-   "fieldtype": "Read Only", 
+   "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
@@ -100,7 +100,7 @@
    "label": "Customer", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "sales_order.customer", 
+   "options": "Customer", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
@@ -119,7 +119,7 @@
    "collapsible": 0, 
    "default": "", 
    "fieldname": "grand_total", 
-   "fieldtype": "Read Only", 
+   "fieldtype": "Currency", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
@@ -127,7 +127,7 @@
    "label": "Grand Total", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "sales_order.base_grand_total", 
+   "options": "", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
@@ -150,7 +150,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2016-02-11 04:17:42.849873", 
+ "modified": "2016-02-23 02:13:07.340323", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Plan Sales Order", 
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
index 3fa1160..6824013 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
@@ -3,7 +3,7 @@
 
 frappe.require("assets/erpnext/js/utils.js");
 
-cur_frm.cscript.onload = function(doc, cdt, cdn) {
+cur_frm.cscript.onload = function(doc) {
 	cur_frm.set_value("company", frappe.defaults.get_user_default("Company"))
 }
 
@@ -11,6 +11,58 @@
 	cur_frm.disable_save();
 }
 
+cur_frm.add_fetch("material_request", "transaction_date", "material_request_date");
+
+cur_frm.add_fetch("sales_order", "transaction_date", "sales_order_date");
+cur_frm.add_fetch("sales_order", "customer", "customer");
+cur_frm.add_fetch("sales_order", "base_grand_total", "grand_total");
+
+frappe.ui.form.on("Production Planning Tool", {
+	get_sales_orders: function(frm) {
+		frappe.call({
+			doc: frm.doc,
+			method: "get_open_sales_orders",
+			callback: function(r) {
+				refresh_field("sales_orders");
+			}
+		});
+	},
+	
+	get_material_request: function(frm) {
+		frappe.call({
+			doc: frm.doc,
+			method: "get_pending_material_requests",
+			callback: function(r) {
+				refresh_field("material_requests");
+			}
+		});
+	},
+	
+	get_items: function(frm) {
+		frappe.call({
+			doc: frm.doc,
+			method: "get_items",
+			callback: function(r) {
+				refresh_field("items");
+			}
+		});
+	},
+	
+	create_production_order: function(frm) {
+		frappe.call({
+			doc: frm.doc,
+			method: "raise_production_orders"
+		});
+	},
+	
+	create_material_requests: function(frm) {
+		frappe.call({
+			doc: frm.doc,
+			method: "raise_material_requests"
+		});
+	}
+});
+
 cur_frm.cscript.item_code = function(doc,cdt,cdn) {
 	var d = locals[cdt][cdn];
 	if (d.item_code) {
@@ -27,13 +79,6 @@
 	}
 }
 
-cur_frm.cscript.raise_purchase_request = function(doc, cdt, cdn) {
-	return frappe.call({
-		method: "raise_purchase_request",
-		doc:doc
-	})
-}
-
 cur_frm.cscript.download_materials_required = function(doc, cdt, cdn) {
 	return $c_obj(doc, 'validate_data', '', function(r, rt) {
 		if (!r['exc'])
@@ -41,7 +86,6 @@
 	});
 }
 
-
 cur_frm.fields_dict['sales_orders'].grid.get_field('sales_order').get_query = function(doc) {
 	var args = { "docstatus": 1 };
 	if(doc.customer) {
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
index 699fb2a..9ccd55e 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
@@ -266,7 +266,7 @@
    "label": "Get Sales Orders", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "get_open_sales_orders", 
+   "options": "", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
@@ -339,7 +339,7 @@
    "label": "Get Material Request", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "get_pending_material_requests", 
+   "options": "", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -413,7 +413,7 @@
    "label": "Get Items", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "get_items", 
+   "options": "", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
@@ -503,7 +503,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "description": "Separate production order will be created for each finished good item.", 
-   "fieldname": "raise_production_order", 
+   "fieldname": "create_production_order", 
    "fieldtype": "Button", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
@@ -512,7 +512,7 @@
    "label": "Create Production Orders", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "raise_production_orders", 
+   "options": "", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
@@ -576,7 +576,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "description": "Items to be requested which are \"Out of Stock\" considering all warehouses based on projected qty and minimum order qty", 
-   "fieldname": "raise_purchase_request", 
+   "fieldname": "create_material_requests", 
    "fieldtype": "Button", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
@@ -631,7 +631,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-02-16 06:56:08.244906", 
+ "modified": "2016-02-23 02:37:51.260645", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Planning Tool", 
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index ee5e4e7..ea7e660 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -63,7 +63,7 @@
 		""" Add sales orders in the table"""
 		self.clear_table("sales_orders")
 
-		so_list = [d.sales_order for d in self.get('sales_orders')]
+		so_list = []
 		for r in open_so:
 			if cstr(r['name']) not in so_list:
 				pp_so = self.append('sales_orders', {})
@@ -107,7 +107,7 @@
 		""" Add Material Requests in the table"""
 		self.clear_table("material_requests")
 
-		mr_list = [d.material_request for d in self.get('material_requests')]
+		mr_list = []
 		for r in pending_mr:
 			if cstr(r['name']) not in mr_list:
 				mr = self.append('material_requests', {})
@@ -121,7 +121,7 @@
 			self.get_mr_items()
 		
 	def get_so_items(self):
-		so_list = filter(None, [d.sales_order for d in self.get('sales_orders')])
+		so_list = [d.sales_order for d in self.get('sales_orders') if d.sales_order]
 		if not so_list:
 			msgprint(_("Please enter Sales Orders in the above table"))
 			return []
@@ -157,14 +157,14 @@
 		self.add_items(items + packed_items)
 	
 	def get_mr_items(self):
-		mr_list = filter(None, [d.material_request for d in self.get('material_requests')])
+		mr_list = [d.material_request for d in self.get('material_requests') if d.material_request]
 		if not mr_list:
 			msgprint(_("Please enter Material Requests in the above table"))
 			return []
 
 		item_condition = ""
 		if self.fg_item:
-			item_condition = ' and mr_item.item_code = "' + self.fg_item + '"'
+			item_condition = ' and mr_item.item_code = "' + frappe.db.escape(self.fg_item, percent=False) + '"'
 
 		items = frappe.db.sql("""select distinct parent, name, item_code, warehouse,
 			(qty - ordered_qty) as pending_qty
@@ -371,7 +371,7 @@
 
 		return item_list
 
-	def raise_purchase_request(self):
+	def raise_material_requests(self):
 		"""
 			Raise Material Request if projected qty is less than qty required
 			Requested qty should be shortage qty considering minimum order qty
@@ -384,7 +384,7 @@
 		self.get_raw_materials(bom_dict)
 
 		if self.item_dict:
-			self.insert_purchase_request()
+			self.create_material_request()
 
 	def get_requested_items(self):
 		item_projected_qty = self.get_projected_qty()
@@ -433,7 +433,7 @@
 
 		return dict(item_projected_qty)
 
-	def insert_purchase_request(self):
+	def create_material_request(self):
 		items_to_be_requested = self.get_requested_items()
 
 		material_request_list = []
diff --git a/erpnext/patches/v6_21/rename_material_request_fields.py b/erpnext/patches/v6_21/rename_material_request_fields.py
index a65b2eb..07be27a 100644
--- a/erpnext/patches/v6_21/rename_material_request_fields.py
+++ b/erpnext/patches/v6_21/rename_material_request_fields.py
@@ -6,6 +6,9 @@
 from frappe.model.utils.rename_field import rename_field
 
 def execute():
-	frappe.reload_doc('Stock', 'doctype', 'material_request_item')
-	rename_field("Material Request Item", "sales_order", "sales_order")
+	frappe.reload_doc('stock', 'doctype', 'material_request_item')
+	rename_field("Material Request Item", "sales_order_no", "sales_order")
+	
+	frappe.reload_doc('support', 'doctype', 'maintenance_schedule_item')
+	rename_field("Maintenance Schedule Item", "prevdoc_docname", "sales_order")
 	
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index bafdb34..ac5e21e 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -193,7 +193,7 @@
 		#check maintenance schedule
 		submit_ms = frappe.db.sql_list("""select t1.name from `tabMaintenance Schedule` t1,
 			`tabMaintenance Schedule Item` t2
-			where t2.parent=t1.name and t2.prevdoc_docname = %s and t1.docstatus = 1""", self.name)
+			where t2.parent=t1.name and t2.sales_order = %s and t1.docstatus = 1""", self.name)
 		if submit_ms:
 			frappe.throw(_("Maintenance Schedule {0} must be cancelled before cancelling this Sales Order").format(comma_and(submit_ms)))
 
@@ -464,15 +464,12 @@
 def make_maintenance_schedule(source_name, target_doc=None):
 	maint_schedule = frappe.db.sql("""select t1.name
 		from `tabMaintenance Schedule` t1, `tabMaintenance Schedule Item` t2
-		where t2.parent=t1.name and t2.prevdoc_docname=%s and t1.docstatus=1""", source_name)
+		where t2.parent=t1.name and t2.sales_order=%s and t1.docstatus=1""", source_name)
 
 	if not maint_schedule:
 		doclist = get_mapped_doc("Sales Order", source_name, {
 			"Sales Order": {
 				"doctype": "Maintenance Schedule",
-				"field_map": {
-					"name": "sales_order"
-				},
 				"validation": {
 					"docstatus": ["=", 1]
 				}
@@ -480,7 +477,7 @@
 			"Sales Order Item": {
 				"doctype": "Maintenance Schedule Item",
 				"field_map": {
-					"parent": "prevdoc_docname"
+					"parent": "sales_order"
 				},
 				"add_if_empty": True
 			}
@@ -499,9 +496,6 @@
 		doclist = get_mapped_doc("Sales Order", source_name, {
 			"Sales Order": {
 				"doctype": "Maintenance Visit",
-				"field_map": {
-					"name": "sales_order"
-				},
 				"validation": {
 					"docstatus": ["=", 1]
 				}
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index 559b954..3f3eb99 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -176,7 +176,7 @@
 		frappe.call({
 			method:"erpnext.stock.doctype.material_request.material_request.raise_production_orders",
 			args: {
-				"source_name": cur_frm.doc.name
+				"material_request": cur_frm.doc.name
 			}
 		});
 	}
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index c1a5281..ff280fd 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -7,7 +7,7 @@
 from __future__ import unicode_literals
 import frappe
 
-from frappe.utils import cstr, flt, getdate, comma_and
+from frappe.utils import cstr, flt, getdate, new_line_sep
 from frappe import msgprint, _
 from frappe.model.mapper import get_mapped_doc
 from erpnext.stock.stock_balance import update_bin_qty, get_indented_qty
@@ -336,11 +336,11 @@
 	return doclist
 
 @frappe.whitelist()
-def raise_production_orders(source_name):
-	material_request= frappe.get_doc("Material Request", source_name)
+def raise_production_orders(material_request):
+	mr= frappe.get_doc("Material Request", material_request)
 	errors =[]
 	production_orders = []
-	for d in material_request.items:
+	for d in mr.items:
 		if (d.qty - d.ordered_qty) >0 :
 			if frappe.db.get_value("Item", d.item_code, "is_pro_applicable"):
 				prod_order = frappe.new_doc("Production Order")
@@ -352,10 +352,10 @@
 				prod_order.expected_delivery_date = d.schedule_date
 				prod_order.sales_order = d.sales_order
 				prod_order.bom_no = get_item_details(d.item_code).bom_no
-				prod_order.material_request = material_request.name
+				prod_order.material_request = mr.name
 				prod_order.material_request_item = d.name
-				prod_order.planned_start_date = material_request.transaction_date
-				prod_order.company = material_request.company
+				prod_order.planned_start_date = mr.transaction_date
+				prod_order.company = mr.company
 				prod_order.save()
 				production_orders.append(prod_order.name)
 			else:
@@ -363,7 +363,7 @@
 	if production_orders: 
 		message = ["""<a href="#Form/Production Order/%s" target="_blank">%s</a>""" % \
 			(p, p) for p in production_orders]
-		msgprint(_("Production Orders {0} created").format(comma_and(message)))
+		msgprint(_("The following Production Orders were created : \n {0} ").format(new_line_sep(message)))
 	if errors:
-		msgprint(_("Could not Raise Production Orders for {0}").format(comma_and(errors)))
+		msgprint(_("Productions Orders cannot be raised for : \n {0}").format(new_line_sep(errors)))
 	return production_orders
\ No newline at end of file
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index c675224..ebdfa5a 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -438,12 +438,14 @@
 		#testing bin requested qty after issuing stock against material request
 		self.assertEquals(_get_requested_qty(), existing_requested_qty)
 		
-	def test_completed_qty_for__manufacture(self):
+	def test_material_request_type_manufacture(self):
 		mr = frappe.copy_doc(test_records[1]).insert()
 		mr = frappe.get_doc("Material Request", mr.name)
 		mr.submit()
 		completed_qty = mr.items[0].ordered_qty
-		
+		requested_qty = frappe.db.sql("""select indented_qty from `tabBin` where \
+			item_code= %s and warehouse= %s """, (mr.items[0].item_code, mr.items[0].warehouse))[0][0]
+
 		prod_order = raise_production_orders(mr.name)
 		po = frappe.get_doc("Production Order", prod_order[0])
 		po.wip_warehouse = "_Test Warehouse 1 - _TC"
@@ -451,11 +453,20 @@
 		
 		mr = frappe.get_doc("Material Request", mr.name)
 		self.assertEquals(completed_qty + po.qty, mr.items[0].ordered_qty)
+
+		new_requested_qty = frappe.db.sql("""select indented_qty from `tabBin` where \
+			item_code= %s and warehouse= %s """, (mr.items[0].item_code, mr.items[0].warehouse))[0][0]
+		
+		self.assertEquals(requested_qty - po.qty, new_requested_qty)
 		
 		po.cancel()
 
 		mr = frappe.get_doc("Material Request", mr.name)
 		self.assertEquals(completed_qty, mr.items[0].ordered_qty)
 		
+		new_requested_qty = frappe.db.sql("""select indented_qty from `tabBin` where \
+			item_code= %s and warehouse= %s """, (mr.items[0].item_code, mr.items[0].warehouse))[0][0]
+		self.assertEquals(requested_qty, new_requested_qty)
+
 test_dependencies = ["Currency Exchange"]
 test_records = frappe.get_test_records('Material Request')
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index 14cad8e..d7ba146 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -158,12 +158,12 @@
 
 	def validate_sales_order(self):
 		for d in self.get('items'):
-			if d.prevdoc_docname:
+			if d.sales_order:
 				chk = frappe.db.sql("""select ms.name from `tabMaintenance Schedule` ms,
 					`tabMaintenance Schedule Item` msi where msi.parent=ms.name and
-					msi.prevdoc_docname=%s and ms.docstatus=1""", d.prevdoc_docname)
+					msi.sales_order=%s and ms.docstatus=1""", d.sales_order)
 				if chk:
-					throw(_("Maintenance Schedule {0} exists against {0}").format(chk[0][0], d.prevdoc_docname))
+					throw(_("Maintenance Schedule {0} exists against {0}").format(chk[0][0], d.sales_order))
 
 	def validate(self):
 		self.validate_maintenance_detail()
diff --git a/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json b/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
index f20cccb..6879f06 100644
--- a/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
+++ b/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
@@ -26,6 +26,7 @@
    "options": "Item", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -50,6 +51,7 @@
    "oldfieldtype": "Data", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 1, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -74,6 +76,7 @@
    "oldfieldtype": "Data", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "print_width": "300px", 
    "read_only": 1, 
    "report_hide": 0, 
@@ -98,6 +101,7 @@
    "no_copy": 0, 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -122,6 +126,7 @@
    "oldfieldtype": "Date", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -146,6 +151,7 @@
    "oldfieldtype": "Date", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -171,6 +177,7 @@
    "options": "\nWeekly\nMonthly\nQuarterly\nHalf Yearly\nYearly\nRandom", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -195,6 +202,7 @@
    "oldfieldtype": "Int", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -220,6 +228,7 @@
    "options": "Sales Person", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -242,6 +251,7 @@
    "no_copy": 0, 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -266,6 +276,7 @@
    "oldfieldtype": "Small Text", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -277,19 +288,21 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "prevdoc_docname", 
-   "fieldtype": "Data", 
+   "fieldname": "sales_order", 
+   "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 1, 
    "in_list_view": 0, 
-   "label": "Against Docname", 
+   "label": "Sales Order", 
    "length": 0, 
    "no_copy": 1, 
    "oldfieldname": "prevdoc_docname", 
    "oldfieldtype": "Data", 
+   "options": "Sales Order", 
    "permlevel": 0, 
    "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
    "print_width": "150px", 
    "read_only": 1, 
    "report_hide": 0, 
@@ -309,7 +322,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2015-11-16 06:29:49.903875", 
+ "modified": "2016-02-23 04:59:32.924534", 
  "modified_by": "Administrator", 
  "module": "Support", 
  "name": "Maintenance Schedule Item",