From 8ed512f6c6e7cced1e48fb93ed71e9a08a46a8aa Mon Sep 17 00:00:00 2001 From: Nirmalrajaa K Date: Fri, 21 Feb 2025 14:57:16 +0530 Subject: [PATCH 1/4] fix: Batch Price gets updated only if it is a billed item (cherry picked from commit 9597b1a69e965638d68c7018fc564ba71e9d4246) # Conflicts: # erpnext/stock/get_item_details.py --- erpnext/stock/get_item_details.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 5c5fe5db276..1cc4cb750db 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -1051,8 +1051,14 @@ def get_batch_based_item_price(params, item_code) -> float: if not item_price: item_price = get_item_price(params, item_code, ignore_party=True, force_batch_no=True) +<<<<<<< HEAD if item_price and item_price[0][2] == params.get("uom"): return item_price[0][1] +======= + + if item_price and item_price[0].uom == pctx.uom and params.get("is_free_item") == 0: + return item_price[0].price_list_rate +>>>>>>> 9597b1a69e (fix: Batch Price gets updated only if it is a billed item) return 0.0 From dbd47dff985019d18a5b68de44149e81dd1663cf Mon Sep 17 00:00:00 2001 From: Nirmalrajaa K Date: Sat, 22 Feb 2025 22:04:00 +0530 Subject: [PATCH 2/4] fix: Batch Price gets updated only if it is a billed item (cherry picked from commit 1a56b83054003cde73aa2aa7c16f80e82be58a20) # Conflicts: # erpnext/stock/get_item_details.py --- erpnext/stock/get_item_details.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 1cc4cb750db..71a58e7f836 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -1051,12 +1051,16 @@ def get_batch_based_item_price(params, item_code) -> float: if not item_price: item_price = get_item_price(params, item_code, ignore_party=True, force_batch_no=True) +<<<<<<< HEAD <<<<<<< HEAD if item_price and item_price[0][2] == params.get("uom"): return item_price[0][1] ======= +======= + is_free_item = pctx.get('items', [{}])[0].get('is_free_item') +>>>>>>> 1a56b83054 (fix: Batch Price gets updated only if it is a billed item) - if item_price and item_price[0].uom == pctx.uom and params.get("is_free_item") == 0: + if item_price and item_price[0].uom == pctx.uom and not is_free_item: return item_price[0].price_list_rate >>>>>>> 9597b1a69e (fix: Batch Price gets updated only if it is a billed item) From 6762dc3392db930d920f5042eadb95ddf4d83998 Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Mon, 3 Mar 2025 14:01:20 +0530 Subject: [PATCH 3/4] chore: linter fix (cherry picked from commit 0a2193e4589a9e748041001a8eb592be2bf091ce) # Conflicts: # erpnext/stock/get_item_details.py --- erpnext/stock/get_item_details.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 71a58e7f836..66c5ae28478 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -1051,6 +1051,7 @@ def get_batch_based_item_price(params, item_code) -> float: if not item_price: item_price = get_item_price(params, item_code, ignore_party=True, force_batch_no=True) +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if item_price and item_price[0][2] == params.get("uom"): @@ -1059,6 +1060,9 @@ def get_batch_based_item_price(params, item_code) -> float: ======= is_free_item = pctx.get('items', [{}])[0].get('is_free_item') >>>>>>> 1a56b83054 (fix: Batch Price gets updated only if it is a billed item) +======= + is_free_item = pctx.get("items", [{}])[0].get("is_free_item") +>>>>>>> 0a2193e458 (chore: linter fix) if item_price and item_price[0].uom == pctx.uom and not is_free_item: return item_price[0].price_list_rate From 854632dd510c5371307d543d1cf04ce3c7e5cfae Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Mon, 3 Mar 2025 20:28:24 +0530 Subject: [PATCH 4/4] chore: resolve conflict --- erpnext/stock/get_item_details.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 66c5ae28478..c592d31f4dd 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -1051,22 +1051,10 @@ def get_batch_based_item_price(params, item_code) -> float: if not item_price: item_price = get_item_price(params, item_code, ignore_party=True, force_batch_no=True) -<<<<<<< HEAD -<<<<<<< HEAD -<<<<<<< HEAD - if item_price and item_price[0][2] == params.get("uom"): - return item_price[0][1] -======= -======= - is_free_item = pctx.get('items', [{}])[0].get('is_free_item') ->>>>>>> 1a56b83054 (fix: Batch Price gets updated only if it is a billed item) -======= - is_free_item = pctx.get("items", [{}])[0].get("is_free_item") ->>>>>>> 0a2193e458 (chore: linter fix) + is_free_item = params.get("items", [{}])[0].get("is_free_item") - if item_price and item_price[0].uom == pctx.uom and not is_free_item: - return item_price[0].price_list_rate ->>>>>>> 9597b1a69e (fix: Batch Price gets updated only if it is a billed item) + if item_price and item_price[0][2] == params.get("uom") and not is_free_item: + return item_price[0][1] return 0.0