fix: Incoming rate precision fixes for intra company transfer

This commit is contained in:
Deepesh Garg 2022-09-19 15:06:06 +05:30
parent 487d825ede
commit 083309c056

View File

@ -442,11 +442,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(