From 89c41d8384af1998f97c1230d636ec03069126ac Mon Sep 17 00:00:00 2001 From: marination Date: Thu, 30 Apr 2020 13:56:49 +0530 Subject: [PATCH 1/2] chore: Added company filter and minor cleanup in Stock Balance Report --- .../report/stock_balance/stock_balance.js | 29 +++++++++++---- .../report/stock_balance/stock_balance.json | 36 ++++++++++--------- .../report/stock_balance/stock_balance.py | 7 ++-- 3 files changed, 44 insertions(+), 28 deletions(-) diff --git a/erpnext/stock/report/stock_balance/stock_balance.js b/erpnext/stock/report/stock_balance/stock_balance.js index 537fa7c04b..d77dd877c4 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.js +++ b/erpnext/stock/report/stock_balance/stock_balance.js @@ -19,6 +19,14 @@ frappe.query_reports["Stock Balance"] = { "reqd": 1, "default": frappe.datetime.get_today() }, + { + "fieldname": "company", + "label": __("Company"), + "fieldtype": "Link", + "width": "80", + "options": "Company", + "default": frappe.defaults.get_default("company") + }, { "fieldname": "item_group", "label": __("Item Group"), @@ -26,12 +34,6 @@ frappe.query_reports["Stock Balance"] = { "width": "80", "options": "Item Group" }, - { - "fieldname":"brand", - "label": __("Brand"), - "fieldtype": "Link", - "options": "Brand" - }, { "fieldname": "item_code", "label": __("Item"), @@ -84,5 +86,18 @@ frappe.query_reports["Stock Balance"] = { "label": __('Show Stock Ageing Data'), "fieldtype": 'Check' }, - ] + ], + + "formatter": function (value, row, column, data, default_formatter) { + value = default_formatter(value, row, column, data); + + if (column.fieldname == "out_qty" && data && data.out_qty > 0) { + value = "" + value + ""; + } + else if (column.fieldname == "in_qty" && data && data.in_qty > 0) { + value = "" + value + ""; + } + + return value; + } }; diff --git a/erpnext/stock/report/stock_balance/stock_balance.json b/erpnext/stock/report/stock_balance/stock_balance.json index 2f20b20235..8c45f0c2f4 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.json +++ b/erpnext/stock/report/stock_balance/stock_balance.json @@ -1,24 +1,26 @@ { - "add_total_row": 1, - "creation": "2014-10-10 17:58:11.577901", - "disabled": 0, - "docstatus": 0, - "doctype": "Report", - "idx": 2, - "is_standard": "Yes", - "modified": "2018-08-14 15:24:41.395557", - "modified_by": "Administrator", - "module": "Stock", - "name": "Stock Balance", - "owner": "Administrator", - "prepared_report": 1, - "ref_doctype": "Stock Ledger Entry", - "report_name": "Stock Balance", - "report_type": "Script Report", + "add_total_row": 1, + "creation": "2014-10-10 17:58:11.577901", + "disable_prepared_report": 0, + "disabled": 0, + "docstatus": 0, + "doctype": "Report", + "idx": 2, + "is_standard": "Yes", + "modified": "2020-04-30 13:46:14.680354", + "modified_by": "Administrator", + "module": "Stock", + "name": "Stock Balance", + "owner": "Administrator", + "prepared_report": 1, + "query": "", + "ref_doctype": "Stock Ledger Entry", + "report_name": "Stock Balance", + "report_type": "Script Report", "roles": [ { "role": "Stock User" - }, + }, { "role": "Accounts Manager" } diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py index ab87ee114d..74a4f6ef14 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.py +++ b/erpnext/stock/report/stock_balance/stock_balance.py @@ -94,8 +94,6 @@ def get_columns(filters): {"label": _("Item"), "fieldname": "item_code", "fieldtype": "Link", "options": "Item", "width": 100}, {"label": _("Item Name"), "fieldname": "item_name", "width": 150}, {"label": _("Item Group"), "fieldname": "item_group", "fieldtype": "Link", "options": "Item Group", "width": 100}, - {"label": _("Brand"), "fieldname": "brand", "fieldtype": "Link", "options": "Brand", "width": 90}, - {"label": _("Description"), "fieldname": "description", "width": 140}, {"label": _("Warehouse"), "fieldname": "warehouse", "fieldtype": "Link", "options": "Warehouse", "width": 100}, {"label": _("Stock UOM"), "fieldname": "stock_uom", "fieldtype": "Link", "options": "UOM", "width": 90}, {"label": _("Balance Qty"), "fieldname": "bal_qty", "fieldtype": "Float", "width": 100, "convertible": "qty"}, @@ -132,6 +130,9 @@ def get_conditions(filters): else: frappe.throw(_("'To Date' is required")) + if filters.get("company"): + conditions += " and sle.company = %s" % frappe.db.escape(filters.get("company")) + if filters.get("warehouse"): warehouse_details = frappe.db.get_value("Warehouse", filters.get("warehouse"), ["lft", "rgt"], as_dict=1) @@ -233,8 +234,6 @@ def get_items(filters): if filters.get("item_code"): conditions.append("item.name=%(item_code)s") else: - if filters.get("brand"): - conditions.append("item.brand=%(brand)s") if filters.get("item_group"): conditions.append(get_item_group_condition(filters.get("item_group"))) From 3568dc75beaadd61be7607d9bd0fdc2158e990e6 Mon Sep 17 00:00:00 2001 From: marination Date: Fri, 1 May 2020 00:01:37 +0530 Subject: [PATCH 2/2] fix: Make Company the first filter --- .../stock/report/stock_balance/stock_balance.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/erpnext/stock/report/stock_balance/stock_balance.js b/erpnext/stock/report/stock_balance/stock_balance.js index d77dd877c4..7d22823eb8 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.js +++ b/erpnext/stock/report/stock_balance/stock_balance.js @@ -3,6 +3,14 @@ frappe.query_reports["Stock Balance"] = { "filters": [ + { + "fieldname": "company", + "label": __("Company"), + "fieldtype": "Link", + "width": "80", + "options": "Company", + "default": frappe.defaults.get_default("company") + }, { "fieldname":"from_date", "label": __("From Date"), @@ -19,14 +27,6 @@ frappe.query_reports["Stock Balance"] = { "reqd": 1, "default": frappe.datetime.get_today() }, - { - "fieldname": "company", - "label": __("Company"), - "fieldtype": "Link", - "width": "80", - "options": "Company", - "default": frappe.defaults.get_default("company") - }, { "fieldname": "item_group", "label": __("Item Group"),