fix: batch qty calculation

This commit is contained in:
Rohit Waghchaure
2025-01-22 17:53:05 +05:30
parent 0e7e9b5f0a
commit f07a71a882
2 changed files with 12 additions and 1 deletions

View File

@@ -843,7 +843,8 @@ class TestPOSInvoice(IntegrationTestCase):
{
"item_code": item.name,
"warehouse": pos_inv2.items[0].warehouse,
"voucher_type": "Delivery Note",
"voucher_type": "POS Invoice",
"voucher_no": pos_inv2.name,
"qty": 2,
"avg_rate": 300,
"batches": frappe._dict({"TestBatch 01": 2}),

View File

@@ -6,6 +6,7 @@ from frappe.model.naming import make_autoname
from frappe.query_builder.functions import CombineDatetime, Sum, Timestamp
from frappe.utils import add_days, cint, cstr, flt, get_link_to_form, now, nowtime, today
from pypika import Order
from pypika.terms import ExistsCriterion
from erpnext.stock.deprecated_serial_batch import (
DeprecatedBatchNoValuation,
@@ -650,6 +651,7 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
parent = frappe.qb.DocType("Serial and Batch Bundle")
child = frappe.qb.DocType("Serial and Batch Entry")
sle = frappe.qb.DocType("Stock Ledger Entry")
timestamp_condition = ""
if self.sle.posting_date:
@@ -682,6 +684,14 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
& (parent.docstatus == 1)
& (parent.is_cancelled == 0)
& (parent.type_of_transaction.isin(["Inward", "Outward"]))
& (
ExistsCriterion(
frappe.qb.from_(sle)
.select(sle.name)
.where((parent.name == sle.serial_and_batch_bundle) & (sle.is_cancelled == 0))
)
| (parent.voucher_type == "POS Invoice")
)
)
.groupby(child.batch_no)
)