fix: precision loss causing process loss variance

(cherry picked from commit d84601b2a3)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/stock_entry.py
This commit is contained in:
FATHIH MOHAMMED
2025-01-09 13:27:27 +00:00
committed by Mergify
parent 1f1c01d88e
commit 1ef9f7f8fd

View File

@@ -496,10 +496,14 @@ class StockEntry(StockController):
if (fg_completed_qty - fg_item_qty) > 0:
self.process_loss_qty = fg_completed_qty - fg_item_qty
<<<<<<< HEAD
if not self.process_loss_qty:
continue
if fg_completed_qty != (flt(fg_item_qty) + flt(self.process_loss_qty, precision)):
=======
if self.fg_completed_qty != flt(total, precision):
>>>>>>> d84601b2a3 (fix: precision loss causing process loss variance)
frappe.throw(
_(
"Since there is a process loss of {0} units for the finished good {1}, you should reduce the quantity by {0} units for the finished good {1} in the Items Table."
@@ -628,7 +632,9 @@ class StockEntry(StockController):
completed_qty = (
d.completed_qty + d.process_loss_qty + (allowance_percentage / 100 * d.completed_qty)
)
if total_completed_qty > flt(completed_qty):
if flt(total_completed_qty, self.precision("fg_completed_qty")) > flt(
completed_qty, self.precision("fg_completed_qty")
):
job_card = frappe.db.get_value("Job Card", {"operation_id": d.name}, "name")
if not job_card:
frappe.throw(