feat: added date filter based on billing date and based date (#18936)
diff --git a/erpnext/controllers/trends.py b/erpnext/controllers/trends.py
index 28a8fdd..0404a1e 100644
--- a/erpnext/controllers/trends.py
+++ b/erpnext/controllers/trends.py
@@ -39,7 +39,6 @@
frappe.throw(_("'Based On' and 'Group By' can not be same"))
def get_data(filters, conditions):
-
data = []
inc, cond= '',''
query_details = conditions["based_on_select"] + conditions["period_wise_select"]
@@ -47,10 +46,11 @@
posting_date = 't1.transaction_date'
if conditions.get('trans') in ['Sales Invoice', 'Purchase Invoice', 'Purchase Receipt', 'Delivery Note']:
posting_date = 't1.posting_date'
+ if filters.period_based_on:
+ posting_date = 't1.'+filters.period_based_on
if conditions["based_on_select"] in ["t1.project,", "t2.project,"]:
cond = ' and '+ conditions["based_on_select"][:-1] +' IS Not NULL'
-
if conditions.get('trans') in ['Sales Order', 'Purchase Order']:
cond += " and t1.status != 'Closed'"
diff --git a/erpnext/public/js/purchase_trends_filters.js b/erpnext/public/js/purchase_trends_filters.js
index 595a138..cd767f5 100644
--- a/erpnext/public/js/purchase_trends_filters.js
+++ b/erpnext/public/js/purchase_trends_filters.js
@@ -4,6 +4,14 @@
erpnext.get_purchase_trends_filters = function() {
return [
{
+ "fieldname":"company",
+ "label": __("Company"),
+ "fieldtype": "Link",
+ "options": "Company",
+ "reqd": 1,
+ "default": frappe.defaults.get_user_default("Company")
+ },
+ {
"fieldname":"period",
"label": __("Period"),
"fieldtype": "Select",
@@ -16,6 +24,23 @@
"default": "Monthly"
},
{
+ "fieldname":"fiscal_year",
+ "label": __("Fiscal Year"),
+ "fieldtype": "Link",
+ "options":'Fiscal Year',
+ "default": frappe.sys_defaults.fiscal_year
+ },
+ {
+ "fieldname":"period_based_on",
+ "label": __("Period based On"),
+ "fieldtype": "Select",
+ "options": [
+ { "value": "posting_date", "label": __("Posting Date") },
+ { "value": "bill_date", "label": __("Billing Date") },
+ ],
+ "default": "posting_date"
+ },
+ {
"fieldname":"based_on",
"label": __("Based On"),
"fieldtype": "Select",
@@ -39,19 +64,5 @@
],
"default": ""
},
- {
- "fieldname":"fiscal_year",
- "label": __("Fiscal Year"),
- "fieldtype": "Link",
- "options":'Fiscal Year',
- "default": frappe.sys_defaults.fiscal_year
- },
- {
- "fieldname":"company",
- "label": __("Company"),
- "fieldtype": "Link",
- "options": "Company",
- "default": frappe.defaults.get_user_default("Company")
- },
];
}