From 5ee8fccb1a66b9422bab2aebb8653eba87404815 Mon Sep 17 00:00:00 2001 From: Kanchan Chauhan Date: Fri, 24 Jun 2016 17:11:15 +0530 Subject: [PATCH 1/2] Item Price update in Price List --- erpnext/stock/get_item_details.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index c42350a421..dcbd3dde5e 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -237,10 +237,10 @@ def insert_item_price(args): if frappe.db.get_value("Price List", args.price_list, "currency") == args.currency \ and cint(frappe.db.get_single_value("Stock Settings", "auto_insert_price_list_rate_if_missing")): if frappe.has_permission("Item Price", "write"): - price_list_rate = args.rate / args.conversion_factor \ if args.get("conversion_factor") else args.rate - + if not price_list_rate: return + item_price = frappe.get_doc({ "doctype": "Item Price", "price_list": args.price_list, @@ -248,9 +248,19 @@ def insert_item_price(args): "currency": args.currency, "price_list_rate": price_list_rate }) - item_price.insert() - frappe.msgprint(_("Item Price added for {0} in Price List {1}").format(args.item_code, - args.price_list)) + + name = frappe.db.get_value('Item Price', {'item_code': args.item_code, 'price_list': args.price_list}, 'name') + + if name: + item_price = frappe.get_doc('Item Price', name) + item_price.price_list_rate = price_list_rate + item_price.save() + frappe.msgprint(_("Item Price updated for {0} in Price List {1}").format(args.item_code, + args.price_list)) + else: + item_price.insert() + frappe.msgprint(_("Item Price added for {0} in Price List {1}").format(args.item_code, + args.price_list)) def get_price_list_rate_for(price_list, item_code): return frappe.db.get_value("Item Price", From 2ff7d2aade7e18054664e230f5ef470e2cf27947 Mon Sep 17 00:00:00 2001 From: Kanchan Chauhan Date: Sat, 25 Jun 2016 17:54:25 +0530 Subject: [PATCH 2/2] Fixed --- erpnext/stock/get_item_details.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index dcbd3dde5e..f67026ef18 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -239,7 +239,6 @@ def insert_item_price(args): if frappe.has_permission("Item Price", "write"): price_list_rate = args.rate / args.conversion_factor \ if args.get("conversion_factor") else args.rate - if not price_list_rate: return item_price = frappe.get_doc({ "doctype": "Item Price", @@ -249,7 +248,7 @@ def insert_item_price(args): "price_list_rate": price_list_rate }) - name = frappe.db.get_value('Item Price', {'item_code': args.item_code, 'price_list': args.price_list}, 'name') + name = frappe.db.get_value('Item Price', {'item_code': args.item_code, 'price_list': args.price_list, 'currency': args.currency}, 'name') if name: item_price = frappe.get_doc('Item Price', name)