在 Odoo 中集成可视化报表设计工具 ReportBro

💡
本文由 Notion AI & ChatGPT 辅助完成。
在 Odoo 中使用 QWeb 设计和开发报表可以满足大部分需求,但是当面临会频繁变更或者具有复杂布局的报表页面需求时,再使用 QWeb 就不是最佳的选择了。另外,如果可以有可视化的报表设计器来帮助我们设计并开发报表,编写代码的时间就大大缩短,并且可以节省许多开发成本,让我们更好地实现报表需求。
在最开始的时候,我在网上寻找了许多可视化报表设计工具,如 JasperReports, Seal Report 等,经过了深入研究及比较,最终决定了使用 ReportBro 这个基于 Web 端的可视化报表设计器,能够满足大部分需求,而且使用起来也非常的方便快捷,极大的提高了报表的设计效率。
ReportBro 是一款开源的可视化报表设计工具,可以用于生成复杂的 PDF 报表。它提供了一个可视化的界面,方便用户在不需要编程的情况下设计报表,支持自定义字体和各种常见的图形、元素,例如表格、图片、文本框、条形码等。此外,ReportBro 支持数据绑定,可以从数据源动态生成报表。并且它还配套提供了 Python 包 reportbro-lib 可以很方便地和任意的 Python 框架进行集成。通过与 Odoo 的集成,ReportBro 可以为业务提供更加高效和便捷的报表生成体验。

模块功能

通常情况下,报表与业务模型有着密切的联系,因此,在设计报表时,需要预先配置相应模型的报表模板变量,以便在生成报表输出时,可以根据业务数据进行动态填充。
notion image
下图为列表类型参数的配置,在列表参数的明细中可以使用 line 表示遍历出来的对象:
notion image
完成报表参数配置后,可在报表设计页面的左侧参数处查看我们定义的参数,在右侧的设计界面中拖拉相应元素进行布局,并选择数据源,以便轻松完成报表设计。
notion image
在报表设计的过程中,可以随时点击预览按钮 ▶️ 来查看报表效果,从而获得更加清晰的报表内容预览。此外,在预览报表的过程中,可以根据自己的实际情况,返回报表设计的布局视图对报表的内容进行编辑和调整,以确保最终得到的报表能够满足自身的需求。
notion image
ReportBro 默认提供了三种字体,均不支持中文。因此,需要使用自定义字体功能,将所需字体文件上传,并在设计报表时,为相应元素选择适当的中文字体,以确保渲染输出报表时无误。
notion image
为了保持一致的使用习惯,在报表设计完成后,还需要将报表的打印操作添加到相应模型表单的打印菜单中,以便用户可以直接在此处打印相关业务记录的报表。在报表模板变量配置页面中,可以一键添加或删除打印动作,快速完成该操作。
notion image
最终点击相应的打印动作,即可正常输出报表文件:
notion image

©️
 本文采用 CC BY-NC-ND 4.0 许可协议。转载或引用时请遵守协议内容!

© Ruter Lü 2016 - 2024