From aa0ada9670936ec483eb03d9d584967452909253 Mon Sep 17 00:00:00 2001 From: venkat102 Date: Sat, 8 Feb 2025 22:49:35 +0530 Subject: [PATCH 1/2] fix(report): add options to multiselectlist fields (cherry picked from commit 8785342fcee1c80662ab1a2bcf06280b69979fe5) # Conflicts: # erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js # erpnext/accounts/report/gross_profit/gross_profit.js # erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js # erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js --- .../accounts_payable/accounts_payable.js | 1 + .../accounts_payable_summary.js | 1 + .../accounts_receivable.js | 1 + .../accounts_receivable_summary.js | 1 + .../budget_variance_report.js | 1 + .../customer_ledger_summary.js | 25 +++++ .../report/general_ledger/general_ledger.js | 3 + .../report/gross_profit/gross_profit.js | 37 +++++++ .../report/payment_ledger/payment_ledger.js | 1 + .../supplier_ledger_summary.js | 25 +++++ .../purchase_order_analysis.js | 1 + .../supplier_quotation_comparison.js | 2 + .../opportunity_summary_by_sales_stage.js | 1 + .../job_card_summary/job_card_summary.js | 2 + .../production_planning_report.js | 2 +- .../work_order_summary/work_order_summary.js | 2 + .../payment_terms_status_for_sales_order.js | 1 + .../sales_order_analysis.js | 1 + .../item_shortage_report.js | 1 + .../serial_and_batch_summary.js | 96 +++++++++++++++++++ 20 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.js b/erpnext/accounts/report/accounts_payable/accounts_payable.js index 171a94e1151..44fa96e3c0d 100644 --- a/erpnext/accounts/report/accounts_payable/accounts_payable.js +++ b/erpnext/accounts/report/accounts_payable/accounts_payable.js @@ -111,6 +111,7 @@ frappe.query_reports["Accounts Payable"] = { fieldname: "party", label: __("Party"), fieldtype: "MultiSelectList", + options: "party_type", get_data: function (txt) { if (!frappe.query_report.filters) return; diff --git a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js index 92ea9e8f598..24b82c56d89 100644 --- a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js +++ b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js @@ -88,6 +88,7 @@ frappe.query_reports["Accounts Payable Summary"] = { fieldname: "party", label: __("Party"), fieldtype: "MultiSelectList", + options: "party_type", get_data: function (txt) { if (!frappe.query_report.filters) return; diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js index 7e4563ee85e..4b60ba8adc0 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js @@ -56,6 +56,7 @@ frappe.query_reports["Accounts Receivable"] = { fieldname: "party", label: __("Party"), fieldtype: "MultiSelectList", + options: "party_type", get_data: function (txt) { if (!frappe.query_report.filters) return; diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js index 964abc23747..df141d0732a 100644 --- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js +++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js @@ -88,6 +88,7 @@ frappe.query_reports["Accounts Receivable Summary"] = { fieldname: "party", label: __("Party"), fieldtype: "MultiSelectList", + options: "party_type", get_data: function (txt) { if (!frappe.query_report.filters) return; diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js index 83bd48c71f3..c74450191aa 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js @@ -91,6 +91,7 @@ function get_filters() { fieldname: "budget_against_filter", label: __("Dimension Filter"), fieldtype: "MultiSelectList", + options: "budget_against", get_data: function (txt) { if (!frappe.query_report.filters) return; diff --git a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js index dec2ebd2520..fac7ffeb27f 100644 --- a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js +++ b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js @@ -93,5 +93,30 @@ frappe.query_reports["Customer Ledger Summary"] = { fieldtype: "Data", hidden: 1, }, +<<<<<<< HEAD +======= + { + fieldname: "cost_center", + label: __("Cost Center"), + fieldtype: "MultiSelectList", + options: "Cost Center", + get_data: function (txt) { + return frappe.db.get_link_options("Cost Center", txt, { + company: frappe.query_report.get_filter_value("company"), + }); + }, + }, + { + fieldname: "project", + label: __("Project"), + fieldtype: "MultiSelectList", + options: "Project", + get_data: function (txt) { + return frappe.db.get_link_options("Project", txt, { + company: frappe.query_report.get_filter_value("company"), + }); + }, + }, +>>>>>>> 8785342fce (fix(report): add options to multiselectlist fields) ], }; diff --git a/erpnext/accounts/report/general_ledger/general_ledger.js b/erpnext/accounts/report/general_ledger/general_ledger.js index 3431b76dfb1..40455fa882d 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.js +++ b/erpnext/accounts/report/general_ledger/general_ledger.js @@ -68,6 +68,7 @@ frappe.query_reports["General Ledger"] = { fieldname: "party", label: __("Party"), fieldtype: "MultiSelectList", + options: "party_type", get_data: function (txt) { if (!frappe.query_report.filters) return; @@ -146,6 +147,7 @@ frappe.query_reports["General Ledger"] = { fieldname: "cost_center", label: __("Cost Center"), fieldtype: "MultiSelectList", + options: "Cost Center", get_data: function (txt) { return frappe.db.get_link_options("Cost Center", txt, { company: frappe.query_report.get_filter_value("company"), @@ -156,6 +158,7 @@ frappe.query_reports["General Ledger"] = { fieldname: "project", label: __("Project"), fieldtype: "MultiSelectList", + options: "Project", get_data: function (txt) { return frappe.db.get_link_options("Project", txt, { company: frappe.query_report.get_filter_value("company"), diff --git a/erpnext/accounts/report/gross_profit/gross_profit.js b/erpnext/accounts/report/gross_profit/gross_profit.js index 64a9838f54b..1f5acdae98c 100644 --- a/erpnext/accounts/report/gross_profit/gross_profit.js +++ b/erpnext/accounts/report/gross_profit/gross_profit.js @@ -51,6 +51,43 @@ frappe.query_reports["Gross Profit"] = { fieldtype: "Link", options: "Sales Person", }, +<<<<<<< HEAD +======= + { + fieldname: "warehouse", + label: __("Warehouse"), + fieldtype: "Link", + options: "Warehouse", + get_query: function () { + var company = frappe.query_report.get_filter_value("company"); + return { + filters: [["Warehouse", "company", "=", company]], + }; + }, + }, + { + fieldname: "cost_center", + label: __("Cost Center"), + fieldtype: "MultiSelectList", + options: "Cost Center", + get_data: function (txt) { + return frappe.db.get_link_options("Cost Center", txt, { + company: frappe.query_report.get_filter_value("company"), + }); + }, + }, + { + fieldname: "project", + label: __("Project"), + fieldtype: "MultiSelectList", + options: "Project", + get_data: function (txt) { + return frappe.db.get_link_options("Project", txt, { + company: frappe.query_report.get_filter_value("company"), + }); + }, + }, +>>>>>>> 8785342fce (fix(report): add options to multiselectlist fields) ], tree: true, name_field: "parent", diff --git a/erpnext/accounts/report/payment_ledger/payment_ledger.js b/erpnext/accounts/report/payment_ledger/payment_ledger.js index e0ea7522b12..0121580858f 100644 --- a/erpnext/accounts/report/payment_ledger/payment_ledger.js +++ b/erpnext/accounts/report/payment_ledger/payment_ledger.js @@ -51,6 +51,7 @@ function get_filters() { fieldname: "party", label: __("Party"), fieldtype: "MultiSelectList", + options: "party_type", get_data: function (txt) { if (!frappe.query_report.filters) return; diff --git a/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js b/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js index 1244a1b0168..cbf3bbcc738 100644 --- a/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js +++ b/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js @@ -75,5 +75,30 @@ frappe.query_reports["Supplier Ledger Summary"] = { fieldtype: "Data", hidden: 1, }, +<<<<<<< HEAD +======= + { + fieldname: "cost_center", + label: __("Cost Center"), + fieldtype: "MultiSelectList", + options: "Cost Center", + get_data: function (txt) { + return frappe.db.get_link_options("Cost Center", txt, { + company: frappe.query_report.get_filter_value("company"), + }); + }, + }, + { + fieldname: "project", + label: __("Project"), + fieldtype: "MultiSelectList", + options: "Project", + get_data: function (txt) { + return frappe.db.get_link_options("Project", txt, { + company: frappe.query_report.get_filter_value("company"), + }); + }, + }, +>>>>>>> 8785342fce (fix(report): add options to multiselectlist fields) ], }; diff --git a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js index ad2a9e88737..2d4e4be59dc 100644 --- a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js +++ b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js @@ -53,6 +53,7 @@ frappe.query_reports["Purchase Order Analysis"] = { label: __("Status"), fieldtype: "MultiSelectList", width: "80", + options: ["To Pay", "To Bill", "To Receive", "To Receive and Bill", "Completed"], get_data: function (txt) { let status = ["To Bill", "To Receive", "To Receive and Bill", "Completed"]; let options = []; diff --git a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js index f7d0d947b61..05cd88633bc 100644 --- a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js +++ b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js @@ -50,6 +50,7 @@ frappe.query_reports["Supplier Quotation Comparison"] = { fieldname: "supplier", label: __("Supplier"), fieldtype: "MultiSelectList", + options: "Supplier", get_data: function (txt) { return frappe.db.get_link_options("Supplier", txt); }, @@ -58,6 +59,7 @@ frappe.query_reports["Supplier Quotation Comparison"] = { fieldtype: "MultiSelectList", label: __("Supplier Quotation"), fieldname: "supplier_quotation", + options: "Supplier Quotation", default: "", get_data: function (txt) { return frappe.db.get_link_options("Supplier Quotation", txt, { docstatus: ["<", 2] }); diff --git a/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.js b/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.js index 5c449284ab6..50b554d2341 100644 --- a/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.js +++ b/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.js @@ -32,6 +32,7 @@ frappe.query_reports["Opportunity Summary by Sales Stage"] = { fieldname: "status", label: __("Status"), fieldtype: "MultiSelectList", + options: ["Open", "Converted", "Quotation", "Replied"], get_data: function () { return [ { value: "Open", description: "Status" }, diff --git a/erpnext/manufacturing/report/job_card_summary/job_card_summary.js b/erpnext/manufacturing/report/job_card_summary/job_card_summary.js index aac687c1413..bd19211d82a 100644 --- a/erpnext/manufacturing/report/job_card_summary/job_card_summary.js +++ b/erpnext/manufacturing/report/job_card_summary/job_card_summary.js @@ -57,6 +57,7 @@ frappe.query_reports["Job Card Summary"] = { label: __("Work Orders"), fieldname: "work_order", fieldtype: "MultiSelectList", + options: "Work Order", get_data: function (txt) { return frappe.db.get_link_options("Work Order", txt); }, @@ -65,6 +66,7 @@ frappe.query_reports["Job Card Summary"] = { label: __("Production Item"), fieldname: "production_item", fieldtype: "MultiSelectList", + options: "Item", get_data: function (txt) { return frappe.db.get_link_options("Item", txt); }, diff --git a/erpnext/manufacturing/report/production_planning_report/production_planning_report.js b/erpnext/manufacturing/report/production_planning_report/production_planning_report.js index bde90504e67..6ace52b35e9 100644 --- a/erpnext/manufacturing/report/production_planning_report/production_planning_report.js +++ b/erpnext/manufacturing/report/production_planning_report/production_planning_report.js @@ -42,7 +42,7 @@ frappe.query_reports["Production Planning Report"] = { fieldname: "docnames", label: __("Document Name"), fieldtype: "MultiSelectList", - options: "Sales Order", + options: "based_on", get_data: function (txt) { if (!frappe.query_report.filters) return; diff --git a/erpnext/manufacturing/report/work_order_summary/work_order_summary.js b/erpnext/manufacturing/report/work_order_summary/work_order_summary.js index 67e6e706c59..2fa1bec92a0 100644 --- a/erpnext/manufacturing/report/work_order_summary/work_order_summary.js +++ b/erpnext/manufacturing/report/work_order_summary/work_order_summary.js @@ -43,6 +43,7 @@ frappe.query_reports["Work Order Summary"] = { label: __("Sales Orders"), fieldname: "sales_order", fieldtype: "MultiSelectList", + options: "Sales Order", get_data: function (txt) { return frappe.db.get_link_options("Sales Order", txt); }, @@ -51,6 +52,7 @@ frappe.query_reports["Work Order Summary"] = { label: __("Production Item"), fieldname: "production_item", fieldtype: "MultiSelectList", + options: "Item", get_data: function (txt) { return frappe.db.get_link_options("Item", txt); }, diff --git a/erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js b/erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js index 32c84b2538b..13d41a60961 100644 --- a/erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js +++ b/erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js @@ -88,6 +88,7 @@ function get_filters() { fieldname: "status", label: __("Status"), fieldtype: "MultiSelectList", + options: ["Overdue", "Unpaid", "Completed", "Partly Paid"], width: 100, get_data: function (txt) { let status = ["Overdue", "Unpaid", "Completed", "Partly Paid"]; diff --git a/erpnext/selling/report/sales_order_analysis/sales_order_analysis.js b/erpnext/selling/report/sales_order_analysis/sales_order_analysis.js index 25089c4b870..672d28209cc 100644 --- a/erpnext/selling/report/sales_order_analysis/sales_order_analysis.js +++ b/erpnext/selling/report/sales_order_analysis/sales_order_analysis.js @@ -48,6 +48,7 @@ frappe.query_reports["Sales Order Analysis"] = { fieldname: "status", label: __("Status"), fieldtype: "MultiSelectList", + options: ["To Pay", "To Bill", "To Deliver", "To Deliver and Bill", "Completed"], width: "80", get_data: function (txt) { let status = ["To Bill", "To Deliver", "To Deliver and Bill", "Completed"]; diff --git a/erpnext/stock/report/item_shortage_report/item_shortage_report.js b/erpnext/stock/report/item_shortage_report/item_shortage_report.js index 5a6a54734a4..4cacfdcccb6 100644 --- a/erpnext/stock/report/item_shortage_report/item_shortage_report.js +++ b/erpnext/stock/report/item_shortage_report/item_shortage_report.js @@ -17,6 +17,7 @@ frappe.query_reports["Item Shortage Report"] = { fieldname: "warehouse", label: __("Warehouse"), fieldtype: "MultiSelectList", + options: "Warehouse", width: "100", get_data: function (txt) { return frappe.db.get_link_options("Warehouse", txt); diff --git a/erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js b/erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js new file mode 100644 index 00000000000..ab1e2babc80 --- /dev/null +++ b/erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js @@ -0,0 +1,96 @@ +// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors +// For license information, please see license.txt +/* eslint-disable */ + +frappe.query_reports["Serial and Batch Summary"] = { + filters: [ + { + fieldname: "company", + label: __("Company"), + fieldtype: "Link", + options: "Company", + default: frappe.defaults.get_user_default("Company"), + }, + { + fieldname: "from_date", + label: __("From Date"), + fieldtype: "Date", + default: frappe.datetime.add_months(frappe.datetime.get_today(), -1), + }, + { + fieldname: "to_date", + label: __("To Date"), + fieldtype: "Date", + default: frappe.datetime.get_today(), + }, + { + fieldname: "item_code", + label: __("Item"), + fieldtype: "Link", + options: "Item", + }, + { + fieldname: "warehouse", + label: __("Warehouse"), + fieldtype: "Link", + options: "Warehouse", + }, + { + fieldname: "voucher_type", + label: __("Voucher Type"), + fieldtype: "Link", + options: "DocType", + get_query: function () { + return { + query: "erpnext.stock.report.serial_and_batch_summary.serial_and_batch_summary.get_voucher_type", + }; + }, + }, + { + fieldname: "voucher_no", + label: __("Voucher No"), + fieldtype: "MultiSelectList", + options: "voucher_type", + get_data: function (txt) { + if (!frappe.query_report.filters) return; + + let voucher_type = frappe.query_report.get_filter_value("voucher_type"); + if (!voucher_type) return; + + return frappe.db.get_link_options(voucher_type, txt); + }, + }, + { + fieldname: "serial_no", + label: __("Serial No"), + fieldtype: "Link", + options: "Serial No", + get_query: function () { + return { + query: "erpnext.stock.report.serial_and_batch_summary.serial_and_batch_summary.get_serial_nos", + filters: { + item_code: frappe.query_report.get_filter_value("item_code"), + voucher_type: frappe.query_report.get_filter_value("voucher_type"), + voucher_no: frappe.query_report.get_filter_value("voucher_no"), + }, + }; + }, + }, + { + fieldname: "batch_no", + label: __("Batch No"), + fieldtype: "Link", + options: "Batch", + get_query: function () { + return { + query: "erpnext.stock.report.serial_and_batch_summary.serial_and_batch_summary.get_batch_nos", + filters: { + item_code: frappe.query_report.get_filter_value("item_code"), + voucher_type: frappe.query_report.get_filter_value("voucher_type"), + voucher_no: frappe.query_report.get_filter_value("voucher_no"), + }, + }; + }, + }, + ], +}; From 5c6028340f4fb95a7661140f638f087f365c1e19 Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Thu, 13 Feb 2025 14:22:51 +0530 Subject: [PATCH 2/2] chore: resolve conflicts --- .../customer_ledger_summary.js | 25 ----- .../report/gross_profit/gross_profit.js | 37 ------- .../supplier_ledger_summary.js | 25 ----- .../serial_and_batch_summary.js | 96 ------------------- 4 files changed, 183 deletions(-) delete mode 100644 erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js diff --git a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js index fac7ffeb27f..dec2ebd2520 100644 --- a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js +++ b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js @@ -93,30 +93,5 @@ frappe.query_reports["Customer Ledger Summary"] = { fieldtype: "Data", hidden: 1, }, -<<<<<<< HEAD -======= - { - fieldname: "cost_center", - label: __("Cost Center"), - fieldtype: "MultiSelectList", - options: "Cost Center", - get_data: function (txt) { - return frappe.db.get_link_options("Cost Center", txt, { - company: frappe.query_report.get_filter_value("company"), - }); - }, - }, - { - fieldname: "project", - label: __("Project"), - fieldtype: "MultiSelectList", - options: "Project", - get_data: function (txt) { - return frappe.db.get_link_options("Project", txt, { - company: frappe.query_report.get_filter_value("company"), - }); - }, - }, ->>>>>>> 8785342fce (fix(report): add options to multiselectlist fields) ], }; diff --git a/erpnext/accounts/report/gross_profit/gross_profit.js b/erpnext/accounts/report/gross_profit/gross_profit.js index 1f5acdae98c..64a9838f54b 100644 --- a/erpnext/accounts/report/gross_profit/gross_profit.js +++ b/erpnext/accounts/report/gross_profit/gross_profit.js @@ -51,43 +51,6 @@ frappe.query_reports["Gross Profit"] = { fieldtype: "Link", options: "Sales Person", }, -<<<<<<< HEAD -======= - { - fieldname: "warehouse", - label: __("Warehouse"), - fieldtype: "Link", - options: "Warehouse", - get_query: function () { - var company = frappe.query_report.get_filter_value("company"); - return { - filters: [["Warehouse", "company", "=", company]], - }; - }, - }, - { - fieldname: "cost_center", - label: __("Cost Center"), - fieldtype: "MultiSelectList", - options: "Cost Center", - get_data: function (txt) { - return frappe.db.get_link_options("Cost Center", txt, { - company: frappe.query_report.get_filter_value("company"), - }); - }, - }, - { - fieldname: "project", - label: __("Project"), - fieldtype: "MultiSelectList", - options: "Project", - get_data: function (txt) { - return frappe.db.get_link_options("Project", txt, { - company: frappe.query_report.get_filter_value("company"), - }); - }, - }, ->>>>>>> 8785342fce (fix(report): add options to multiselectlist fields) ], tree: true, name_field: "parent", diff --git a/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js b/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js index cbf3bbcc738..1244a1b0168 100644 --- a/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js +++ b/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js @@ -75,30 +75,5 @@ frappe.query_reports["Supplier Ledger Summary"] = { fieldtype: "Data", hidden: 1, }, -<<<<<<< HEAD -======= - { - fieldname: "cost_center", - label: __("Cost Center"), - fieldtype: "MultiSelectList", - options: "Cost Center", - get_data: function (txt) { - return frappe.db.get_link_options("Cost Center", txt, { - company: frappe.query_report.get_filter_value("company"), - }); - }, - }, - { - fieldname: "project", - label: __("Project"), - fieldtype: "MultiSelectList", - options: "Project", - get_data: function (txt) { - return frappe.db.get_link_options("Project", txt, { - company: frappe.query_report.get_filter_value("company"), - }); - }, - }, ->>>>>>> 8785342fce (fix(report): add options to multiselectlist fields) ], }; diff --git a/erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js b/erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js deleted file mode 100644 index ab1e2babc80..00000000000 --- a/erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt -/* eslint-disable */ - -frappe.query_reports["Serial and Batch Summary"] = { - filters: [ - { - fieldname: "company", - label: __("Company"), - fieldtype: "Link", - options: "Company", - default: frappe.defaults.get_user_default("Company"), - }, - { - fieldname: "from_date", - label: __("From Date"), - fieldtype: "Date", - default: frappe.datetime.add_months(frappe.datetime.get_today(), -1), - }, - { - fieldname: "to_date", - label: __("To Date"), - fieldtype: "Date", - default: frappe.datetime.get_today(), - }, - { - fieldname: "item_code", - label: __("Item"), - fieldtype: "Link", - options: "Item", - }, - { - fieldname: "warehouse", - label: __("Warehouse"), - fieldtype: "Link", - options: "Warehouse", - }, - { - fieldname: "voucher_type", - label: __("Voucher Type"), - fieldtype: "Link", - options: "DocType", - get_query: function () { - return { - query: "erpnext.stock.report.serial_and_batch_summary.serial_and_batch_summary.get_voucher_type", - }; - }, - }, - { - fieldname: "voucher_no", - label: __("Voucher No"), - fieldtype: "MultiSelectList", - options: "voucher_type", - get_data: function (txt) { - if (!frappe.query_report.filters) return; - - let voucher_type = frappe.query_report.get_filter_value("voucher_type"); - if (!voucher_type) return; - - return frappe.db.get_link_options(voucher_type, txt); - }, - }, - { - fieldname: "serial_no", - label: __("Serial No"), - fieldtype: "Link", - options: "Serial No", - get_query: function () { - return { - query: "erpnext.stock.report.serial_and_batch_summary.serial_and_batch_summary.get_serial_nos", - filters: { - item_code: frappe.query_report.get_filter_value("item_code"), - voucher_type: frappe.query_report.get_filter_value("voucher_type"), - voucher_no: frappe.query_report.get_filter_value("voucher_no"), - }, - }; - }, - }, - { - fieldname: "batch_no", - label: __("Batch No"), - fieldtype: "Link", - options: "Batch", - get_query: function () { - return { - query: "erpnext.stock.report.serial_and_batch_summary.serial_and_batch_summary.get_batch_nos", - filters: { - item_code: frappe.query_report.get_filter_value("item_code"), - voucher_type: frappe.query_report.get_filter_value("voucher_type"), - voucher_no: frappe.query_report.get_filter_value("voucher_no"), - }, - }; - }, - }, - ], -};