From 59b9b7dc9185fee1814d5ef7d89d0875fead4bf7 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 08:19:59 +0530 Subject: [PATCH] =?UTF-8?q?fix:=20do=20not=20update=20item=20price=20and?= =?UTF-8?q?=20last=20purchase=20rate=20for=20inter=20transf=E2=80=A6=20(ba?= =?UTF-8?q?ckport=20#42616)=20(#42633)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: do not update item price and last purchase rate for inter transf… (#42616) fix: do not update item price and last purchase rate for inter transfer transaction (cherry picked from commit c8af544ef37d1fec4b93a6d1fc44cfbc441e677b) Co-authored-by: rohitwaghchaure --- erpnext/buying/utils.py | 3 +++ erpnext/public/js/controllers/transaction.js | 6 +++++- erpnext/stock/get_item_details.py | 9 ++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/utils.py b/erpnext/buying/utils.py index 1d708b36980..8223917792c 100644 --- a/erpnext/buying/utils.py +++ b/erpnext/buying/utils.py @@ -14,6 +14,9 @@ from erpnext.stock.doctype.item.item import get_last_purchase_details, validate_ def update_last_purchase_rate(doc, is_submit) -> None: """updates last_purchase_rate in item table for each item""" + if doc.get("is_internal_supplier"): + return + this_purchase_date = getdate(doc.get("posting_date") or doc.get("transaction_date")) for d in doc.get("items"): diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 8036b9c75cd..8699f253e3d 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -534,6 +534,8 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe quotation_to: me.frm.doc.quotation_to, supplier: me.frm.doc.supplier, currency: me.frm.doc.currency, + is_internal_supplier: me.frm.doc.is_internal_supplier, + is_internal_customer: me.frm.doc.is_internal_customer, update_stock: update_stock, conversion_rate: me.frm.doc.conversion_rate, price_list: me.frm.doc.selling_price_list || me.frm.doc.buying_price_list, @@ -1650,7 +1652,9 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe "update_stock": ['Sales Invoice', 'Purchase Invoice'].includes(me.frm.doc.doctype) ? cint(me.frm.doc.update_stock) : 0, "conversion_factor": me.frm.doc.conversion_factor, "pos_profile": me.frm.doc.doctype == 'Sales Invoice' ? me.frm.doc.pos_profile : '', - "coupon_code": me.frm.doc.coupon_code + "coupon_code": me.frm.doc.coupon_code, + "is_internal_supplier": me.frm.doc.is_internal_supplier, + "is_internal_customer": me.frm.doc.is_internal_customer, }; } diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index fe4d3b8602c..6485c5f6022 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -807,6 +807,9 @@ def get_price_list_rate(args, item_doc, out=None): if price_list_rate is None or frappe.db.get_single_value( "Stock Settings", "update_existing_price_list_rate" ): + if args.get("is_internal_supplier") or args.get("is_internal_customer"): + return out + if args.price_list and args.rate: insert_item_price(args) @@ -818,7 +821,11 @@ def get_price_list_rate(args, item_doc, out=None): if frappe.db.get_single_value("Buying Settings", "disable_last_purchase_rate"): return out - if not out.price_list_rate and args.transaction_type == "buying": + if ( + not args.get("is_internal_supplier") + and not out.price_list_rate + and args.transaction_type == "buying" + ): from erpnext.stock.doctype.item.item import get_last_purchase_details out.update(get_last_purchase_details(item_doc.name, args.name, args.conversion_rate))