I have a Query Report in ERPNext and I want to set default values for two Date filters:
From Date: Today - 3M
To Date: Today
But ERPNext is not interpreting these correctly. Instead of subtracting 3 months from today’s date, it’s giving a completely wrong date like 01-01-2003.
What is the correct way to set default filter values 3 months back & today in a Query Report ?
You can use this property for the Date filter:
-
default: frappe.datetime.add_months(frappe.datetime.get_today(), -3),
-
default: frappe.datetime.get_today()
How it will look:
{
fieldname: "from_date",
label: __("From Date"),
fieldtype: "Date",
default: frappe.datetime.add_months(frappe.datetime.get_today(), -3),
//reqd: 1, optional property
},
{
fieldname: "to_date",
label: __("To Date"),
fieldtype: "Date",
default: frappe.datetime.get_today()
//reqd: 1, optional property
},
This code is not working
default: frappe.datetime.add_months(frappe.datetime.get_today(), -3),
default: frappe.datetime.get_today()
Could you send your full code?
frappe.query_reports[“Delivery Pending Report”] = {
“filters”: [
{
“fieldname”: “from_date”,
“label”: __(“From Date”),
“fieldtype”: “Date”,
“default”: “frappe.datetime.add_months(frappe.datetime.get_today(), -3)”
},
{
“fieldname”: “to_date”,
“label”: __(“To Date”),
“fieldtype”: “Date”,
“default”: “frappe.datetime.get_today()”
},
{
“fieldname”: “sales_partner”,
“label”: __(“Agent”),
“fieldtype”: “Link”,
“options”: “Sales Partner”
},
{
“fieldname”: “customer”,
“label”: __(“Customer”),
“fieldtype”: “Link”,
“options”: “Customer”
}
\],
};
These are functions, do not enclose them in quotes (““):
Wrong: “default”: “frappe.datetime.add_months(frappe.datetime.get_today(), -3)”
Correct: “default”: frappe.datetime.add_months(frappe.datetime.get_today(), -3)
Did you remove the quotes for the “frappe.datetime.get_today()” too?
Correct: “default”: frappe.datetime.get_today()