fix: not able to select the zero qty batch while making the sales return entry
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index 19dea08..2f6b59f 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -280,22 +280,31 @@
"page_len": page_len
}
+ having_clause = "having sum(sle.actual_qty) > 0"
+ if filters.get("is_return"):
+ having_clause = ""
+
if args.get('warehouse'):
- batch_nos = frappe.db.sql("""select sle.batch_no, round(sum(sle.actual_qty),2), sle.stock_uom, concat('MFG-',batch.manufacturing_date), concat('EXP-',batch.expiry_date)
- from `tabStock Ledger Entry` sle
- INNER JOIN `tabBatch` batch on sle.batch_no = batch.name
- where
- batch.disabled = 0
- and sle.item_code = %(item_code)s
- and sle.warehouse = %(warehouse)s
- and (sle.batch_no like %(txt)s
- or batch.manufacturing_date like %(txt)s)
- and batch.docstatus < 2
- {0}
- {match_conditions}
- group by batch_no having sum(sle.actual_qty) > 0
- order by batch.expiry_date, sle.batch_no desc
- limit %(start)s, %(page_len)s""".format(cond, match_conditions=get_match_cond(doctype)), args)
+ batch_nos = frappe.db.sql("""select sle.batch_no, round(sum(sle.actual_qty),2), sle.stock_uom,
+ concat('MFG-',batch.manufacturing_date), concat('EXP-',batch.expiry_date)
+ from `tabStock Ledger Entry` sle
+ INNER JOIN `tabBatch` batch on sle.batch_no = batch.name
+ where
+ batch.disabled = 0
+ and sle.item_code = %(item_code)s
+ and sle.warehouse = %(warehouse)s
+ and (sle.batch_no like %(txt)s
+ or batch.manufacturing_date like %(txt)s)
+ and batch.docstatus < 2
+ {cond}
+ {match_conditions}
+ group by batch_no {having_clause}
+ order by batch.expiry_date, sle.batch_no desc
+ limit %(start)s, %(page_len)s""".format(
+ cond=cond,
+ match_conditions=get_match_cond(doctype),
+ having_clause = having_clause
+ ), args)
return batch_nos
else: