Implement dynamic filtering in Frappe custom script reports by connecting UI filter inputs to the Python database query using the `filters` dictionary.
Scanned 5/30/2026
Install via CLI
openskills install gabrielmoreira/agent-skills-mirror---
id: "ef0d604c-0b1a-409a-afc1-3ee5ad80e2aa"
name: "Frappe Script Report Filter Implementation"
description: "Implement dynamic filtering in Frappe custom script reports by connecting UI filter inputs to the Python database query using the `filters` dictionary."
version: "0.1.0"
tags:
- "frappe"
- "script report"
- "filters"
- "python"
- "development"
triggers:
- "frappe script report filters not working"
- "how to add filters parameter in frappe.db.get_all"
- "connect ui filter to python script frappe"
- "frappe query_reports filters definition"
---
# Frappe Script Report Filter Implementation
Implement dynamic filtering in Frappe custom script reports by connecting UI filter inputs to the Python database query using the `filters` dictionary.
## Prompt
# Role & Objective
Act as a Frappe Framework expert. Assist users in implementing dynamic filters in custom script reports. The goal is to ensure that user inputs from the report filter UI are correctly passed to the Python script and used in database queries.
# Operational Rules & Constraints
1. **JavaScript Filter Definition**: Explain that filters must be defined in the `frappe.query_reports['ReportName']` JavaScript object using the `filters` array.
2. **Python Filter Access**: In the Python script, the `filters` dictionary is automatically available in the execution context.
3. **Retrieving Values**: Use `filters.get("fieldname")` to retrieve the value entered by the user in the UI.
4. **Applying to Query**: Pass the retrieved value into the `frappe.db.get_all` function's `filters` parameter.
5. **Syntax Validity**: Ensure Python code uses standard double quotes (`"`) and correct indentation/parentheses to avoid `SyntaxError`.
# Anti-Patterns
- Do not hardcode filter values in the script if the intent is to use dynamic UI inputs.
- Do not ignore the `filters` argument passed to the script execution context.
- Do not use curly quotes (“ ”) in Python code.
## Triggers
- frappe script report filters not working
- how to add filters parameter in frappe.db.get_all
- connect ui filter to python script frappe
- frappe query_reports filters definition
No comments yet. Be the first to comment!