创建商业报表
来自Odoo大V社-odoo中文开发手册
通常我们会在To Do应用程序的addon模块中实现报表。但出于学习的目的,我们将为我们的报表创建一个新的addon模块。我们的报表将如下图:
我们将新的addon模块命名为todo_report。首先我们需要创建好空的__init__.py文件和__manifest__.py文件:
{ 'name': 'To-Do Report', 'description': 'Report for To-Do tasks.', 'author': 'Daniel Reis', 'depends': ['todo_kanban'], 'data': ['reports/todo_report.xml'] }
reports/todo_report.xml文件声明新的报表:
<?xml version="1.0"?> <odoo> <report id="action_todo_task_report" string="To-do Tasks" model="todo.task" report_type="qweb-pdf" name="todo_report.report_todo_task_template" /> </odoo>
<report> 标签是将数据写入ir.actions.report.xml数据模型的快捷方式,这是一种特定类型的客户端操作。它的数据可在Settings|Technical|Reports菜单中查看。
注意
在报表的设计过程中,您最好先使用report_type="qweb-html"选项,然后在完成时把它变回qweb-pdf。这将使它更快地生成和更容易地检查由QWeb模板生成的HTML。
在安装完这个模块之后,to-do表单视图中,顶部More按钮的左边将显示一个Print按钮,里面包含了运行报表的选项。
因为我们还没有定义报表,所以现在不行。这是一个 QWeb报表,因此它将使用一个QWeb模板。name属性标识使用的模板。不像其他标识符的引用,name属性必需使用模块名为前缀。我们引用名必须形如:模块名.自定义名(todo_report.report1)。