// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt frappe.query_reports["General Ledger"] = { "filters": [ { "fieldname":"company", "label": __("Company"), "fieldtype": "Link", "options": "Company", "default": frappe.defaults.get_user_default("Company"), "reqd": 1 }, { "fieldname":"finance_book", "label": __("Finance Book"), "fieldtype": "Link", "options": "Finance Book" }, { "fieldname":"from_date", "label": __("From Date"), "fieldtype": "Date", "default": frappe.datetime.add_months(frappe.datetime.get_today(), -1), "reqd": 1, "width": "60px" }, { "fieldname":"to_date", "label": __("To Date"), "fieldtype": "Date", "default": frappe.datetime.get_today(), "reqd": 1, "width": "60px" }, { "fieldname":"account", "label": __("Account"), "fieldtype": "Link", "options": "Account", "get_query": function() { var company = frappe.query_report.get_filter_value('company'); return { "doctype": "Account", "filters": { "company": company, } } } }, { "fieldname":"voucher_no", "label": __("Voucher No"), "fieldtype": "Data", on_change: function() { frappe.query_report.set_filter_value('group_by', ""); } }, { "fieldtype": "Break", }, { "fieldname":"party_type", "label": __("Party Type"), "fieldtype": "Link", "options": "Party Type", "default": "", on_change: function() { frappe.query_report.set_filter_value('party', ""); } }, { "fieldname":"party", "label": __("Party"), "fieldtype": "MultiSelectList", get_data: function(txt) { if (!frappe.query_report.filters) return; let party_type = frappe.query_report.get_filter_value('party_type'); if (!party_type) return; return frappe.db.get_link_options(party_type, txt); }, on_change: function() { var party_type = frappe.query_report.get_filter_value('party_type'); var parties = frappe.query_report.get_filter_value('party'); if(!party_type || parties.length === 0 || parties.length > 1) { frappe.query_report.set_filter_value('party_name', ""); frappe.query_report.set_filter_value('tax_id', ""); return; } else { var party = parties[0]; var fieldname = erpnext.utils.get_party_name(party_type) || "name"; frappe.db.get_value(party_type, party, fieldname, function(value) { frappe.query_report.set_filter_value('party_name', value[fieldname]); }); if (party_type === "Customer" || party_type === "Supplier") { frappe.db.get_value(party_type, party, "tax_id", function(value) { frappe.query_report.set_filter_value('tax_id', value["tax_id"]); }); } } } }, { "fieldname":"party_name", "label": __("Party Name"), "fieldtype": "Data", "hidden": 1 }, { "fieldname":"group_by", "label": __("Group by"), "fieldtype": "Select", "options": ["", __("Group by Voucher"), __("Group by Voucher (Consolidated)"), __("Group by Account"), __("Group by Party")], "default": __("Group by Voucher (Consolidated)") }, { "fieldname":"tax_id", "label": __("Tax Id"), "fieldtype": "Data", "hidden": 1 }, { "fieldname": "presentation_currency", "label": __("Currency"), "fieldtype": "Select", "options": erpnext.get_presentation_currency_list() }, { "fieldname":"cost_center", "label": __("Cost Center"), "fieldtype": "MultiSelectList", get_data: function(txt) { return frappe.db.get_link_options('Cost Center', txt); } }, { "fieldname":"project", "label": __("Project"), "fieldtype": "MultiSelectList", get_data: function(txt) { return frappe.db.get_link_options('Project', txt); } }, { "fieldname": "show_opening_entries", "label": __("Show Opening Entries"), "fieldtype": "Check" }, { "fieldname": "include_default_book_entries", "label": __("Include Default Book Entries"), "fieldtype": "Check" } ] } let dimension_filters = erpnext.get_dimension_filters(); dimension_filters.then((dimensions) => { dimensions.forEach((dimension) => { frappe.query_reports["General Ledger"].filters.splice(15, 0 ,{ "fieldname": dimension["fieldname"], "label": __(dimension["label"]), "fieldtype": "Link", "options": dimension["document_type"] }); }); });