mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-08 15:42:52 +00:00
[enhancement] Stock Balance Report - Added Item Group Filter
This commit is contained in:
@@ -19,6 +19,13 @@ frappe.query_reports["Stock Balance"] = {
|
|||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"default": frappe.datetime.get_today()
|
"default": frappe.datetime.get_today()
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "item_group",
|
||||||
|
"label": __("Item Group"),
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"width": "80",
|
||||||
|
"options": "Item Group"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "item_code",
|
"fieldname": "item_code",
|
||||||
"label": __("Item"),
|
"label": __("Item"),
|
||||||
|
|||||||
@@ -63,12 +63,15 @@ def get_conditions(filters):
|
|||||||
frappe.throw(_("'From Date' is required"))
|
frappe.throw(_("'From Date' is required"))
|
||||||
|
|
||||||
if filters.get("to_date"):
|
if filters.get("to_date"):
|
||||||
conditions += " and posting_date <= '%s'" % frappe.db.escape(filters["to_date"])
|
conditions += " and sle.posting_date <= '%s'" % frappe.db.escape(filters["to_date"])
|
||||||
else:
|
else:
|
||||||
frappe.throw(_("'To Date' is required"))
|
frappe.throw(_("'To Date' is required"))
|
||||||
|
|
||||||
|
if filters.get("item_group"):
|
||||||
|
conditions += " and item.item_group = '%s'" % frappe.db.escape(filters.get("item_group"), percent=False)
|
||||||
|
|
||||||
if filters.get("item_code"):
|
if filters.get("item_code"):
|
||||||
conditions += " and item_code = '%s'" % frappe.db.escape(filters.get("item_code"), percent=False)
|
conditions += " and sle.item_code = '%s'" % frappe.db.escape(filters.get("item_code"), percent=False)
|
||||||
|
|
||||||
if filters.get("warehouse"):
|
if filters.get("warehouse"):
|
||||||
warehouse_details = frappe.db.get_value("Warehouse", filters.get("warehouse"), ["lft", "rgt"], as_dict=1)
|
warehouse_details = frappe.db.get_value("Warehouse", filters.get("warehouse"), ["lft", "rgt"], as_dict=1)
|
||||||
@@ -81,10 +84,11 @@ def get_conditions(filters):
|
|||||||
|
|
||||||
def get_stock_ledger_entries(filters):
|
def get_stock_ledger_entries(filters):
|
||||||
conditions = get_conditions(filters)
|
conditions = get_conditions(filters)
|
||||||
return frappe.db.sql("""select item_code, warehouse, posting_date, actual_qty, valuation_rate,
|
return frappe.db.sql("""select sle.item_code, warehouse, sle.posting_date, sle.actual_qty, sle.valuation_rate,
|
||||||
company, voucher_type, qty_after_transaction, stock_value_difference
|
sle.company, sle.voucher_type, sle.qty_after_transaction, sle.stock_value_difference
|
||||||
from `tabStock Ledger Entry` sle force index (posting_sort_index)
|
from `tabStock Ledger Entry` sle force index (posting_sort_index)
|
||||||
where docstatus < 2 %s order by posting_date, posting_time, name""" %
|
inner join `tabItem` item on item.name = sle.item_code
|
||||||
|
where sle.docstatus < 2 %s order by sle.posting_date, sle.posting_time, sle.name""" %
|
||||||
conditions, as_dict=1)
|
conditions, as_dict=1)
|
||||||
|
|
||||||
def get_item_warehouse_map(filters):
|
def get_item_warehouse_map(filters):
|
||||||
|
|||||||
Reference in New Issue
Block a user