From cd34c70670e64b7ffa6d8821b3663c98c8d9fa36 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Wed, 27 Feb 2019 18:01:25 +0530 Subject: [PATCH 1/2] fix: bom cost update is not working --- erpnext/stock/get_item_details.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 74f35953e2..8d1d779438 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -521,12 +521,15 @@ def check_packing_list(price_list_rate_name, desired_qty, item_code): :param qty: Derised Qt """ + flag = True item_price = frappe.get_doc("Item Price", price_list_rate_name) if desired_qty and item_price.packing_unit: packing_increment = desired_qty % item_price.packing_unit - if packing_increment == 0: - return True + if packing_increment != 0: + flag = False + + return flag def validate_price_list(args): if args.get("price_list"): From b48effebce28225a307bb5fa76d4f9b8d8c10649 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Wed, 27 Feb 2019 19:31:32 +0530 Subject: [PATCH 2/2] fix: test case --- erpnext/stock/doctype/item_price/test_item_price.py | 2 +- erpnext/stock/get_item_details.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/doctype/item_price/test_item_price.py b/erpnext/stock/doctype/item_price/test_item_price.py index 455dff4e15..3782f540cf 100644 --- a/erpnext/stock/doctype/item_price/test_item_price.py +++ b/erpnext/stock/doctype/item_price/test_item_price.py @@ -11,7 +11,7 @@ from erpnext.stock.doctype.item_price.item_price import ItemPriceDuplicateItem class TestItemPrice(unittest.TestCase): def setUp(self): - frappe.db.sql("delete from `tabItem Price`") + frappe.db.sql("delete from `tabItem Price`") make_test_records_for_doctype("Item Price", force=True) def test_duplicate_item(self): diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 8d1d779438..7f0e670f65 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -490,7 +490,7 @@ def get_price_list_rate_for(args, item_code): price_list_rate = get_item_price(item_price_args, item_code) if price_list_rate: desired_qty = args.get("qty") - if check_packing_list(price_list_rate[0][0], desired_qty, item_code): + if desired_qty and check_packing_list(price_list_rate[0][0], desired_qty, item_code): item_price_data = price_list_rate else: for field in ["customer", "supplier", "min_qty"]: @@ -523,7 +523,7 @@ def check_packing_list(price_list_rate_name, desired_qty, item_code): flag = True item_price = frappe.get_doc("Item Price", price_list_rate_name) - if desired_qty and item_price.packing_unit: + if item_price.packing_unit: packing_increment = desired_qty % item_price.packing_unit if packing_increment != 0: