Merge pull request #5641 from rohitwaghchaure/rename_prevdoc_fields
Rename prevdoc field in purchase order and purchase receipt doctype
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index ec1bf46..3885736 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -23,13 +23,13 @@
self.status_updater = [{
'source_dt': 'Purchase Order Item',
'target_dt': 'Material Request Item',
- 'join_field': 'prevdoc_detail_docname',
+ 'join_field': 'material_request_item',
'target_field': 'ordered_qty',
'target_parent_dt': 'Material Request',
'target_parent_field': 'per_ordered',
'target_ref_field': 'qty',
'source_field': 'stock_qty',
- 'percent_join_field': 'prevdoc_docname',
+ 'percent_join_field': 'material_request',
'overflow_type': 'order'
}]
@@ -92,9 +92,9 @@
def get_schedule_dates(self):
for d in self.get('items'):
- if d.prevdoc_detail_docname and not d.schedule_date:
+ if d.material_request_item and not d.schedule_date:
d.schedule_date = frappe.db.get_value("Material Request Item",
- d.prevdoc_detail_docname, "schedule_date")
+ d.material_request_item, "schedule_date")
def get_last_purchase_rate(self):
@@ -125,15 +125,15 @@
def check_for_closed_status(self, pc_obj):
check_list =[]
for d in self.get('items'):
- if d.meta.get_field('prevdoc_docname') and d.prevdoc_docname and d.prevdoc_docname not in check_list:
- check_list.append(d.prevdoc_docname)
- pc_obj.check_for_closed_status( d.prevdoc_doctype, d.prevdoc_docname)
+ if d.meta.get_field('material_request') and d.material_request and d.material_request not in check_list:
+ check_list.append(d.material_request)
+ pc_obj.check_for_closed_status('Material Request', d.material_request)
def update_requested_qty(self):
material_request_map = {}
for d in self.get("items"):
- if d.prevdoc_doctype and d.prevdoc_doctype == "Material Request" and d.prevdoc_detail_docname:
- material_request_map.setdefault(d.prevdoc_docname, []).append(d.prevdoc_detail_docname)
+ if d.material_request_item:
+ material_request_map.setdefault(d.material_request, []).append(d.material_request_item)
for mr, mr_item_rows in material_request_map.items():
if mr and mr_item_rows:
@@ -225,9 +225,9 @@
"""Update delivered qty in Sales Order for drop ship"""
sales_orders_to_update = []
for item in self.items:
- if item.prevdoc_doctype == "Sales Order" and item.delivered_by_supplier == 1:
- if item.prevdoc_docname not in sales_orders_to_update:
- sales_orders_to_update.append(item.prevdoc_docname)
+ if item.sales_order and item.delivered_by_supplier == 1:
+ if item.sales_order not in sales_orders_to_update:
+ sales_orders_to_update.append(item.sales_order)
for so_name in sales_orders_to_update:
so = frappe.get_doc("Sales Order", so_name)
@@ -239,7 +239,7 @@
return any([d.delivered_by_supplier for d in self.items])
def is_against_so(self):
- return any([d.prevdoc_doctype for d in self.items if d.prevdoc_doctype=="Sales Order"])
+ return any([d.sales_order for d in self.items if d.sales_order])
def set_received_qty_for_drop_ship_items(self):
for item in self.items:
@@ -288,9 +288,8 @@
"Purchase Order Item": {
"doctype": "Purchase Receipt Item",
"field_map": {
- "name": "prevdoc_detail_docname",
- "parent": "prevdoc_docname",
- "parenttype": "prevdoc_doctype",
+ "name": "purchase_order_item",
+ "parent": "purchase_order",
},
"postprocess": update_item,
"condition": lambda doc: abs(doc.received_qty) < abs(doc.qty) and doc.delivered_by_supplier!=1
diff --git a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
index aaf0ae8..a4b57e9 100755
--- a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
+++ b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
@@ -3,6 +3,7 @@
"allow_import": 0,
"allow_rename": 0,
"autoname": "hash",
+ "beta": 0,
"creation": "2013-05-24 19:29:06",
"custom": 0,
"docstatus": 0,
@@ -959,46 +960,19 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "prevdoc_doctype",
+ "fieldname": "material_request",
"fieldtype": "Link",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Reference Document Type",
- "length": 0,
- "no_copy": 1,
- "oldfieldname": "prevdoc_doctype",
- "oldfieldtype": "Data",
- "options": "DocType",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "prevdoc_docname",
- "fieldtype": "Dynamic Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
- "label": "Reference Name",
+ "label": "Material Request",
"length": 0,
"no_copy": 1,
"oldfieldname": "prevdoc_docname",
"oldfieldtype": "Link",
- "options": "prevdoc_doctype",
+ "options": "Material Request",
"permlevel": 0,
"print_hide": 1,
"print_hide_if_no_value": 0,
@@ -1015,14 +989,14 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "prevdoc_detail_docname",
+ "fieldname": "material_request_item",
"fieldtype": "Data",
"hidden": 1,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
- "label": "Material Request Detail No",
+ "label": "Material Request Item",
"length": 0,
"no_copy": 1,
"oldfieldname": "prevdoc_detail_docname",
@@ -1041,6 +1015,57 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "fieldname": "sales_order",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Order",
+ "length": 0,
+ "no_copy": 1,
+ "options": "Sales Order",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "sales_order_item",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Order Item",
+ "length": 0,
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
"fieldname": "supplier_quotation",
"fieldtype": "Link",
"hidden": 0,
@@ -1378,20 +1403,23 @@
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 1,
+ "image_view": 0,
"in_create": 0,
"in_dialog": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2016-03-18 05:08:54.505417",
+ "modified": "2016-07-04 16:29:19.624908",
"modified_by": "Administrator",
"module": "Buying",
"name": "Purchase Order Item",
"owner": "Administrator",
"permissions": [],
+ "quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"sort_field": "modified",
- "sort_order": "DESC"
+ "sort_order": "DESC",
+ "track_seen": 0
}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
index 2beb559..b6a3376 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
@@ -78,9 +78,8 @@
["parent", "supplier_quotation"],
["uom", "stock_uom"],
["uom", "uom"],
- ["prevdoc_detail_docname", "prevdoc_detail_docname"],
- ["prevdoc_doctype", "prevdoc_doctype"],
- ["prevdoc_docname", "prevdoc_docname"]
+ ["material_request", "material_request"],
+ ["material_request_item", "material_request_item"]
],
"postprocess": update_item
},
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 7661925..f0f2312 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -366,8 +366,8 @@
po_map = {}
for d in self.get("items"):
if self.doctype=="Purchase Receipt" \
- and d.prevdoc_doctype=="Purchase Order" and d.prevdoc_detail_docname:
- po_map.setdefault(d.prevdoc_docname, []).append(d.prevdoc_detail_docname)
+ and d.purchase_order:
+ po_map.setdefault(d.purchase_order, []).append(d.purchase_order_item)
elif self.doctype=="Purchase Invoice" and d.purchase_order and d.po_detail:
po_map.setdefault(d.purchase_order, []).append(d.po_detail)
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index dfb9cda..e248513 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -286,4 +286,5 @@
erpnext.patches.v7_0.update_maintenance_module_in_doctype
erpnext.patches.v7_0.update_prevdoc_values_for_supplier_quotation_item
erpnext.patches.v7_0.rename_advance_table_fields
-erpnext.patches.v7_0.rename_salary_components
\ No newline at end of file
+erpnext.patches.v7_0.rename_salary_components
+erpnext.patches.v7_0.rename_prevdoc_fields
diff --git a/erpnext/patches/v7_0/rename_prevdoc_fields.py b/erpnext/patches/v7_0/rename_prevdoc_fields.py
new file mode 100644
index 0000000..d189056
--- /dev/null
+++ b/erpnext/patches/v7_0/rename_prevdoc_fields.py
@@ -0,0 +1,75 @@
+import frappe
+import json
+from frappe.model.utils.rename_field import update_reports, rename_field, update_property_setters
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
+
+def execute():
+ frappe.reload_doctype('Purchase Order Item')
+ frappe.reload_doctype('Purchase Receipt Item')
+ update_po_fields()
+ update_prop_setters_reports_print_format_for_po()
+ set_sales_order_field()
+ rename_pr_fields()
+
+def update_po_fields():
+ for data in frappe.db.sql(""" select prevdoc_docname, prevdoc_detail_docname, name, prevdoc_doctype
+ from `tabPurchase Order Item` where prevdoc_doctype is not null""", as_dict=True):
+ if data.prevdoc_doctype == 'Material Request':
+ frappe.db.set_value("Purchase Order Item", data.name, "material_request", data.prevdoc_docname, update_modified=False)
+ frappe.db.set_value("Purchase Order Item", data.name, "material_request_item", data.prevdoc_detail_docname, update_modified=False)
+ elif data.prevdoc_doctype == 'Sales Order':
+ frappe.db.set_value("Purchase Order Item", data.name, "sales_order", data.prevdoc_docname, update_modified=False)
+ frappe.db.set_value("Purchase Order Item", data.name, "sales_order_item", data.prevdoc_detail_docname, update_modified=False)
+
+def get_columns():
+ return {
+ 'prevdoc_docname': 'material_request',
+ 'prevdoc_detail_docname': 'material_request_item'
+ }
+
+def update_prop_setters_reports_print_format_for_po():
+ for key, val in get_columns().items():
+ update_property_setters('Purchase Order Item', key, val)
+ update_reports('Purchase Order Item', key, val)
+ update_print_format_for_po(key, val, 'Purchase Order')
+
+def update_print_format_for_po(old_fieldname, new_fieldname, doc_type):
+ column_mapper = get_columns()
+
+ for data in frappe.db.sql(""" select name, format_data from `tabPrint Format` where
+ format_data like %(old_fieldname)s and doc_type = %(doc_type)s""",
+ {'old_fieldname': '%%%s%%'%(old_fieldname), 'doc_type': doc_type}, as_dict=True):
+
+ update_print_format_fields(old_fieldname, new_fieldname, data)
+
+def update_print_format_fields(old_fieldname, new_fieldname, args):
+ report_dict = json.loads(args.format_data)
+ update = False
+
+ for col in report_dict:
+ if col.get('fieldname') and col.get('fieldname') == old_fieldname:
+ col['fieldname'] = new_fieldname
+ update = True
+
+ if col.get('visible_columns'):
+ for key in col.get('visible_columns'):
+ if key.get('fieldname') == old_fieldname:
+ key['fieldname'] = new_fieldname
+ update = True
+
+ if update:
+ val = json.dumps(report_dict)
+ frappe.db.sql("""update `tabPrint Format` set `format_data`=%s where name=%s""", (val, args.name))
+
+def set_sales_order_field():
+ for data in frappe.db.sql("""select doc_type, field_name, property, value, property_type
+ from `tabProperty Setter` where doc_type = 'Purchase Order Item'
+ and field_name in('material_request', 'material_request_item')""", as_dict=True):
+ if data.field_name == 'material_request':
+ make_property_setter(data.doc_type, 'sales_order', data.property, data.value, data.property_type)
+ else:
+ make_property_setter(data.doc_type, 'sales_order_item', data.property, data.value, data.property_type)
+
+def rename_pr_fields():
+ rename_field("Purchase Receipt Item", "prevdoc_docname", "purchase_order")
+ rename_field("Purchase Receipt Item", "prevdoc_detail_docname", "purchase_order_item")
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 8fcd89d..4a2b9a9 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -286,8 +286,7 @@
if item.delivered_by_supplier:
item_delivered_qty = frappe.db.sql("""select sum(qty)
from `tabPurchase Order Item` poi, `tabPurchase Order` po
- where poi.prevdoc_detail_docname = %s
- and poi.prevdoc_doctype = 'Sales Order'
+ where poi.sales_order_item = %s
and poi.item_code = %s
and poi.parent = po.name
and po.docstatus = 1
@@ -611,9 +610,8 @@
"Sales Order Item": {
"doctype": "Purchase Order Item",
"field_map": [
- ["name", "prevdoc_detail_docname"],
- ["parent", "prevdoc_docname"],
- ["parenttype", "prevdoc_doctype"],
+ ["name", "sales_order_item"],
+ ["parent", "sales_order"],
["uom", "stock_uom"],
["delivery_date", "schedule_date"]
],
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 5fa2d7e..f687868 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -376,8 +376,7 @@
dn = create_dn_against_so(so.name, delivered_qty=1)
self.assertEquals(so.customer, po.customer)
- self.assertEquals(po.items[0].prevdoc_doctype, "Sales Order")
- self.assertEquals(po.items[0].prevdoc_docname, so.name)
+ self.assertEquals(po.items[0].sales_order, so.name)
self.assertEquals(po.items[0].item_code, po_item.item_code)
self.assertEquals(dn.items[0].item_code, dn_item.item_code)
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index 1b1a56b..f6a7c66 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -50,7 +50,7 @@
if(doc.docstatus == 1 && doc.status != 'Stopped') {
- this.frm.dashboard.show_dashboard();
+ // this.frm.dashboard.show_dashboard();
if(flt(doc.per_ordered, 2) < 100) {
// make
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index 3de62c1..b1f1423 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -213,9 +213,8 @@
"Material Request Item": {
"doctype": "Purchase Order Item",
"field_map": [
- ["name", "prevdoc_detail_docname"],
- ["parent", "prevdoc_docname"],
- ["parenttype", "prevdoc_doctype"],
+ ["name", "material_request_item"],
+ ["parent", "material_request"],
["uom", "stock_uom"],
["uom", "uom"]
],
@@ -274,9 +273,8 @@
"Material Request Item": {
"doctype": "Purchase Order Item",
"field_map": [
- ["name", "prevdoc_detail_docname"],
- ["parent", "prevdoc_docname"],
- ["parenttype", "prevdoc_doctype"],
+ ["name", "material_request_item"],
+ ["parent", "material_request"],
["uom", "stock_uom"],
["uom", "uom"]
],
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index 6c72d6b..5faefde 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -23,36 +23,35 @@
self.status_updater = [{
'source_dt': 'Purchase Receipt Item',
'target_dt': 'Purchase Order Item',
- 'join_field': 'prevdoc_detail_docname',
+ 'join_field': 'purchase_order_item',
'target_field': 'received_qty',
'target_parent_dt': 'Purchase Order',
'target_parent_field': 'per_received',
'target_ref_field': 'qty',
'source_field': 'qty',
- 'percent_join_field': 'prevdoc_docname',
+ 'percent_join_field': 'purchase_order',
'overflow_type': 'receipt'
},
{
'source_dt': 'Purchase Receipt Item',
'target_dt': 'Purchase Order Item',
- 'join_field': 'prevdoc_detail_docname',
+ 'join_field': 'purchase_order_item',
'target_field': 'returned_qty',
'target_parent_dt': 'Purchase Order',
# 'target_parent_field': 'per_received',
# 'target_ref_field': 'qty',
'source_field': '-1 * qty',
- # 'percent_join_field': 'prevdoc_docname',
# 'overflow_type': 'receipt',
'extra_cond': """ and exists (select name from `tabPurchase Receipt` where name=`tabPurchase Receipt Item`.parent and is_return=1)"""
}]
self.prev_link_mapper = {
"Purchase Order": {
- "fieldname": "prevdoc_docname",
+ "fieldname": "purchase_order",
"doctype": "Purchase Receipt Item",
"filters": [
["Purchase Receipt Item", "parent", "=", self.name],
- ["Purchase Receipt Item", "prevdoc_docname", "!=", ""]
+ ["Purchase Receipt Item", "purchase_order", "!=", ""]
]
}
}
@@ -73,29 +72,29 @@
def validate_with_previous_doc(self):
super(PurchaseReceipt, self).validate_with_previous_doc({
"Purchase Order": {
- "ref_dn_field": "prevdoc_docname",
+ "ref_dn_field": "purchase_order",
"compare_fields": [["supplier", "="], ["company", "="], ["currency", "="]],
},
"Purchase Order Item": {
- "ref_dn_field": "prevdoc_detail_docname",
+ "ref_dn_field": "purchase_order_item",
"compare_fields": [["project", "="], ["uom", "="], ["item_code", "="]],
"is_child_table": True
}
})
if cint(frappe.db.get_single_value('Buying Settings', 'maintain_same_rate')) and not self.is_return:
- self.validate_rate_with_reference_doc([["Purchase Order", "prevdoc_docname", "prevdoc_detail_docname"]])
+ self.validate_rate_with_reference_doc([["Purchase Order", "purchase_order", "purchase_order_item"]])
def po_required(self):
if frappe.db.get_value("Buying Settings", None, "po_required") == 'Yes':
for d in self.get('items'):
- if not d.prevdoc_docname:
+ if not d.purchase_order:
frappe.throw(_("Purchase Order number required for Item {0}").format(d.item_code))
def get_already_received_qty(self, po, po_detail):
qty = frappe.db.sql("""select sum(qty) from `tabPurchase Receipt Item`
- where prevdoc_detail_docname = %s and docstatus = 1
- and prevdoc_doctype='Purchase Order' and prevdoc_docname=%s
+ where purchase_order_item = %s and docstatus = 1
+ and purchase_order=%s
and parent != %s""", (po_detail, po, self.name))
return qty and flt(qty[0][0]) or 0.0
@@ -115,9 +114,9 @@
def check_for_closed_status(self, pc_obj):
check_list =[]
for d in self.get('items'):
- if d.meta.get_field('prevdoc_docname') and d.prevdoc_docname and d.prevdoc_docname not in check_list:
- check_list.append(d.prevdoc_docname)
- pc_obj.check_for_closed_status(d.prevdoc_doctype, d.prevdoc_docname)
+ if d.meta.get_field('purchase_order') and d.purchase_order and d.purchase_order not in check_list:
+ check_list.append(d.purchase_order)
+ pc_obj.check_for_closed_status('Purchase Order', d.purchase_order)
# on submit
def on_submit(self):
@@ -335,8 +334,8 @@
def update_billing_status(self, update_modified=True):
updated_pr = [self.name]
for d in self.get("items"):
- if d.prevdoc_detail_docname:
- updated_pr += update_billed_amount_based_on_po(d.prevdoc_detail_docname, update_modified)
+ if d.purchase_order_item:
+ updated_pr += update_billed_amount_based_on_po(d.purchase_order_item, update_modified)
for pr in set(updated_pr):
pr_doc = self if (pr == self.name) else frappe.get_doc("Purchase Receipt", pr)
@@ -353,7 +352,7 @@
# Get all Delivery Note Item rows against the Sales Order Item row
pr_details = frappe.db.sql("""select pr_item.name, pr_item.amount, pr_item.parent
from `tabPurchase Receipt Item` pr_item, `tabPurchase Receipt` pr
- where pr.name=pr_item.parent and pr_item.prevdoc_detail_docname=%s
+ where pr.name=pr_item.parent and pr_item.purchase_order_item=%s
and pr.docstatus=1 and pr.is_return = 0
order by pr.posting_date asc, pr.posting_time asc, pr.name asc""", po_detail, as_dict=1)
@@ -409,8 +408,8 @@
"field_map": {
"name": "pr_detail",
"parent": "purchase_receipt",
- "prevdoc_detail_docname": "po_detail",
- "prevdoc_docname": "purchase_order",
+ "purchase_order_item": "po_detail",
+ "purchase_order": "purchase_order",
},
"postprocess": update_item,
"filter": lambda d: abs(d.qty) - abs(invoiced_qty_map.get(d.name, 0))<=0
diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
index b7e4f2d..9130c86 100755
--- a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
+++ b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -3,6 +3,7 @@
"allow_import": 0,
"allow_rename": 0,
"autoname": "hash",
+ "beta": 0,
"creation": "2013-05-24 19:29:10",
"custom": 0,
"docstatus": 0,
@@ -1077,7 +1078,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "prevdoc_docname",
+ "fieldname": "purchase_order",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -1362,40 +1363,14 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "prevdoc_doctype",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Prevdoc Doctype",
- "length": 0,
- "no_copy": 1,
- "oldfieldname": "prevdoc_doctype",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "prevdoc_detail_docname",
+ "fieldname": "purchase_order_item",
"fieldtype": "Data",
"hidden": 1,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_list_view": 0,
- "label": "Purchase Order Item No",
+ "label": "Purchase Order Item",
"length": 0,
"no_copy": 1,
"oldfieldname": "prevdoc_detail_docname",
@@ -1709,20 +1684,23 @@
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 1,
+ "image_view": 0,
"in_create": 0,
"in_dialog": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2016-03-18 05:11:15.937267",
+ "modified": "2016-07-04 17:56:02.163486",
"modified_by": "Administrator",
"module": "Stock",
"name": "Purchase Receipt Item",
"owner": "Administrator",
"permissions": [],
+ "quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"sort_field": "modified",
- "sort_order": "DESC"
+ "sort_order": "DESC",
+ "track_seen": 0
}
\ No newline at end of file