fix: Incoming rate precision fixes for intra company transfer

(cherry picked from commit 083309c056)
This commit is contained in:
Deepesh Garg
2022-09-19 15:06:06 +05:30
committed by Mergify
parent 002ae8ae13
commit 227ce5f8a2

View File

@@ -439,11 +439,17 @@ class SellingController(StockController):
# For internal transfers use incoming rate as the valuation rate # For internal transfers use incoming rate as the valuation rate
if self.is_internal_transfer(): if self.is_internal_transfer():
if d.doctype == "Packed Item": if d.doctype == "Packed Item":
incoming_rate = flt(d.incoming_rate * d.conversion_factor, d.precision("incoming_rate")) incoming_rate = flt(
flt(d.incoming_rate, d.precision("incoming_rate")) * d.conversion_factor,
d.precision("incoming_rate"),
)
if d.incoming_rate != incoming_rate: if d.incoming_rate != incoming_rate:
d.incoming_rate = incoming_rate d.incoming_rate = incoming_rate
else: else:
rate = flt(d.incoming_rate * d.conversion_factor, d.precision("rate")) rate = flt(
flt(d.incoming_rate, d.precision("incoming_rate")) * d.conversion_factor,
d.precision("rate"),
)
if d.rate != rate: if d.rate != rate:
d.rate = rate d.rate = rate
frappe.msgprint( frappe.msgprint(