Odoo报表的动作解释

Administrator

Odoo Report课程的第三次课,我们通常开发报表的时候只使用几个属性,本文将所有属性进行解释。

id

如果你了解Odoo的外部ID机制,那么该属性的值你自然就明白了。如果不了解外部ID,此处就按照最佳实践填写一下即可。通常我们会写成 report_model_name_reportname,假如我们为销售订单模型创建一个自定义报表,我们可以写成 report_sale_order_custom。

name

该属性为必填属性。用来描述一下这个报表,以便我们在列表搜索这个名字找到该报表。

model

该属性为必填属性。这里写我们为哪个模型做的报表。将来打印报表的菜单就会显示到该模型的form视图的打印菜单中。

report_type

该属性为必填属性。可以填写qweb-pdf或者qweb-html,如果你想点击打印报表的时候生成一个PDF文件,那么就写qweb-pdf。目前qweb-html类型的报表很少用,如果你想看的话可以安装event模块。

report_name

报表的名称,打印出的PDF文件也会是这个名字。

groups

该属性是一个很常用的属性,设置权限组的,是一个Many2many类型的字段,设置之后,该报表就只有相应组的用户能打印。

attachment_use

该属性是一个开关,设置为True的时候,所打印的报表会以附件的形式存到数据库中。附件的名称通过下面的attachment属性来定义。

attachment

该属性是定义报表名称的,可用python表达式,可以用object这个变量获得记录的数据。

papertformat

该属性可以指定纸张样式,至于纸张样式是什么,后面的课程有讲。这里填写的是纸张样式的外部ID。

你以为这样就结束了吗?

当然不是!

如果你看过官方10的开发文档,自然能反应过来,上面的内容是翻译的官方的开发文档,但是经过测试,是有问题的。

我测试使用的是版本10,虽然不是最新的代码,但是作为官方更新文档的时候起码进行注明!

首先是name属性,官方的解释没有指明关键点,name属性的值应该是报表模板的外部ID,不是什么为了排序。

report_name 属性是没有的,而应该使用string属性,设置string属性之后,打印菜单下的打印按钮和生成的PDF文件名就是以string属性的值而定的。

还有一个常用的属性是menu,该属性的默认值是True,如果设置为False的话,打印菜单下的打印按钮就不显示了。这个打印按钮是可以通过权限组来控制显示与否的,但是实际业务中有很多单据到了一定的状态才允许打印报表,那么我们可以将打印菜单下的按钮隐藏掉,通过别的手段打印报表。 

留下评论

你应该 登入 张贴评论