Merge pull request #42489 from frappe/mergify/bp/version-15-hotfix/pr-42050

fix: Update Rate as per Valuation Rate for Internal Transfers only if Setting is Enabled (backport #42050)
This commit is contained in:
Smit Vora
2024-08-13 11:25:09 +05:30
committed by GitHub
9 changed files with 154 additions and 61 deletions

View File

@@ -435,6 +435,9 @@ class SellingController(StockController):
if self.doctype not in ("Delivery Note", "Sales Invoice"):
return
allow_at_arms_length_price = frappe.get_cached_value(
"Stock Settings", None, "allow_internal_transfer_at_arms_length_price"
)
items = self.get("items") + (self.get("packed_items") or [])
for d in items:
if not frappe.get_cached_value("Item", d.item_code, "is_stock_item"):
@@ -481,6 +484,9 @@ class SellingController(StockController):
if d.incoming_rate != incoming_rate:
d.incoming_rate = incoming_rate
else:
if allow_at_arms_length_price:
continue
rate = flt(
flt(d.incoming_rate, d.precision("incoming_rate")) * d.conversion_factor,
d.precision("rate"),