fix: set route filter values for AR
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js
index 67a14e7..1073be0 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js
@@ -1,6 +1,8 @@
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
+frappe.provide("erpnext.utils");
+
frappe.query_reports["Accounts Receivable"] = {
"filters": [
{
@@ -38,19 +40,11 @@
}
},
{
- "fieldname": "party_type",
+ "fieldname":"party_type",
"label": __("Party Type"),
- "fieldtype": "Link",
- "options": "Party Type",
- "Default": "Customer",
- get_query: () => {
- return {
- filters: {
- 'account_type': 'Receivable'
- }
- };
- },
- on_change: () => {
+ "fieldtype": "Autocomplete",
+ options: get_party_type_options(),
+ on_change: function() {
frappe.query_report.set_filter_value('party', "");
frappe.query_report.toggle_filter_display('customer_group', frappe.query_report.get_filter_value('party_type') !== "Customer");
}
@@ -58,8 +52,15 @@
{
"fieldname":"party",
"label": __("Party"),
- "fieldtype": "Dynamic Link",
- "options": "party_type",
+ "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);
+ },
},
{
"fieldname": "party_account",
@@ -192,3 +193,16 @@
}
erpnext.utils.add_dimensions('Accounts Receivable', 9);
+
+
+function get_party_type_options() {
+ let options = [];
+ frappe.db.get_list(
+ "Party Type", {filters:{"account_type": "Receivable"}, fields:['name']}
+ ).then((res) => {
+ res.forEach((party_type) => {
+ options.push(party_type.name);
+ });
+ });
+ return options;
+}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js
index e274a52..42932ad 100644
--- a/erpnext/selling/doctype/customer/customer.js
+++ b/erpnext/selling/doctype/customer/customer.js
@@ -138,7 +138,7 @@
// custom buttons
frm.add_custom_button(__('Accounts Receivable'), function () {
- frappe.set_route('query-report', 'Accounts Receivable', {customer:frm.doc.name});
+ frappe.set_route('query-report', 'Accounts Receivable', { party_type: "Customer", party: frm.doc.name });
}, __('View'));
frm.add_custom_button(__('Accounting Ledger'), function () {