创建商业报表

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索

通常我们会在To Do应用程序的addon模块中实现报表。但出于学习的目的,我们将为我们的报表创建一个新的addon模块。我们的报表将如下图: 10报表.png

我们将新的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)。