SuperAPI AI 工具集

frappe-reports

编程与开发

查看项目

更新于 10-16 00:01

技能介绍

用途:在 Frappe 中创建报表,支持三种类型。Report Builder 无需代码,适合简单字段选择、分组与排序;Query Report 只需 SQL,适合直接查询、连接与聚合;Script Report 需 Python + JS,适合复杂逻辑、计算字段与动态筛选。

主要能力:通过 UI 新建报表并选择 Reference DocType;Query Report 用 SQL 编写查询,列格式为 "Label:Fieldtype/Options:Width",筛选变量用 %(filter_name)s 参数化;Script Report 按标准目录结构组织 json、py、js 文件,Python 的 execute(filters) 返回 columns、data、chart,JS 定义 filters、onload、formatter;可添加自定义打印格式 HTML;标准报表按目录结构自动发现,无需 hooks.py 注册。

使用方式:Report Builder 在 Report 列表新建并选择类型;Query Report 设置类型后写 SQL;Script Report 创建 report 目录及 sales_summary.json、.py、.js,json 中 report_type 为 Script Report、is_standard 为 Yes。验证包括报表出现在列表、筛选生效、列格式正确、图表渲染、权限受控、打印格式可用、性能可接受。

限制与注意:需校验筛选值、处理空结果、用 frappe.db.escape() 或参数化防注入、限制结果集、检查权限;常见错误包括 SQL 注入、缺少权限检查、无界查询、列字段类型不匹配、聚合未处理 None、硬编码 docstatus。调试可先运行 bench --site <site> mariadb 测试 SQL,必要时执行 bench migrate。涉及 DocType 架构、API 端点或 Desk UI 定制时转对应技能。具体收费、平台与效果资料暂未提供。