fix fetch material request items logic
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.py b/erpnext/manufacturing/doctype/production_plan/production_plan.py
index 7d11ae4..24ce7d4 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan.py
@@ -514,7 +514,7 @@
 		doc = frappe._dict(json.loads(doc))
 
 	doc['mr_items'] = []
-	po_items = doc['po_items'] if doc.get('po_items') else doc['items']
+	po_items = doc.get('po_items') if doc.get('po_items') else doc.get('items')
 
 	for data in po_items:
 		warehouse = None
@@ -533,10 +533,10 @@
 		else:
 			planned_qty = data.get('planned_qty')
 			bom_no = data.get('bom_no')
-			include_subcontracted_items = doc['include_subcontracted_items']
-			company = doc['company']
-			include_non_stock_items = doc['include_non_stock_items']
-			ignore_existing_ordered_qty = doc['ignore_existing_ordered_qty']
+			include_subcontracted_items = doc.get('include_subcontracted_items')
+			company = doc.get('company')
+			include_non_stock_items = doc.get('include_non_stock_items')
+			ignore_existing_ordered_qty = doc.get('ignore_existing_ordered_qty')
 		if not planned_qty:
 			frappe.throw(_("For row {0}: Enter Planned Qty").format(data.get('idx')))