odoo8打印pdf

odoo8打印pdf报表

提示:以下是本篇文章正文内容,下面案例可供参考

1.py文件

代码如下(示例):

# -*- coding: utf-8 -*-

from openerp import models, api
class PrintClass(models.AbstractModel):
    _name = 'report.module.print_pdf'(report.模块名.模板id)
    
    @api.multi
    def render_html(self, data=None):
        report_obj = self.env['report']
        docargs = self._get_doc_args(self.ids, 'module.print_pdf')
        	# module.print_pdf为(模块名.模板id)
        return report_obj.render('module.print_pdf', docargs)

    @api.model
    def _get_doc_args(self, ids, report_name):
        report_obj = self.env['report']
        obj = self.env['model.table.name']
        	# model.table.name为打印数据所在模型的名称
        report = report_obj._get_report_from_name(report_name)
        values= obj.browse(ids)
        return {
            'doc_ids': self._ids,
            'doc_model': report.model,
            'docs': self,
            'values': values,
        }

2.xml文件

代码如下(示例):

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
    	1.菜单
        <report id="action_print_pdf"(对应动作id)
                model="model.table.name"(打印数据所在模型的名称)
                string="按钮名称"
                report_type="qweb-pdf"
                name="module.print_pdf"(模块名.模板id)
                file="module.print_pdf"/>
		
		2.纸张格式
        <record id="paperformat_type" model="report.paperformat">
            <field name="name">纸张名称</field>
            <field name="default" eval="True"/>
            <field name="format">custom</field>
            <field name="page_height">100</field>(纸张高100毫米)
            <field name="page_width">100</field>(纸张宽100毫米)
            <field name="orientation">Portrait</field>
            	# 报表距离纸张边界上下左右分别为1234毫米
            <field name="margin_top">1</field>
            <field name="margin_bottom">2</field>
            <field name="margin_left">3</field>
            <field name="margin_right">4</field>
            <field name="header_line" eval="False"/>
            <field name="header_spacing">0</field>
            <field name="dpi">80</field>
        </record>

		3.动作
		# action_print_pdf(对应菜单id)
		# module.paperformat_type(模块名.纸张id)
        <record id="action_print_pdf" model="ir.actions.report.xml">
            <field name="paperformat_id" ref="module.paperformat_type"/>
        </record>
        
        4.pdf模板
        <template id="print_pdf">
            <t t-foreach="values" t-as="a">
                <div class="page">
	                <table>
		                <tr>
		                    <td>姓名</td>
		                    <td><span t-field="a.name"/></td>
		                </tr>
	                </table>
                </div>
            </t>
        </template>
        
    </data>
</openerp>

注意

  1. py文件在对应的__init__文件引入
  2. xml在__openerp__中data列表引入

初次学习写,不足之处还请见谅,缺少的细节请大家提出,看的会补充。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于想要学习和掌握Odoo开发的人来说,Odoo开发手册PDF是一个非常有用的资源。这本手册详细介绍了Odoo框架的开发和使用方法,以及开发过程中需要注意的一些问题。手册的内容涵盖了从安装、配置Odoo环境到开发和维护各种模块的全过程。 手册分为多个章节,每个章节都注重实践和例子,这让读者能够更加容易地理解和掌握Odoo的开发技能。其中,手册中详细讲解了无数的Odoo特性和API,例如:ORM、模型字段、视图、报表、工作流、安全机制等等。此外,手册也提供了丰富的例子和实践操作,让读者能够更好地应用所学知识到实际开发中。 总体而言,Odoo开发手册PDF是一个非常有价值的资源,他可以帮助开发者更好地理解和掌握Odoo框架的开发技能。如果你正在寻找学习Odoo开发的一本指南,那么Odoo开发手册PDF绝对是一本非常不错的选择。 ### 回答2: Odoo开发手册pdfOdoo软件开发的参考指南,它包含了Odoo开发的基本知识和技能。这本手册提供了一些实用性很强的工具和技巧,可以帮助开发者更加高效地完成Odoo软件的开发、调试和测试工作。 该手册主要分为三大部分:开发文档、功能模块和展示模块。在开发文档中,手册详细介绍了Odoo软件的基本结构、数据模型、界面设计和安装部署等方面的知识。在功能模块中,手册详细介绍了Odoo模块的基本结构和开发流程。而在展示模块中,手册详细讲解了Odoo中各种展示模块的建立及使用方法。除此之外,手册中还提供了许多实例,方便开发者了解Odoo软件的基本特性。 Odoo开发手册pdf对新手开发者来说是一份精彩的参考资料,也可帮助一些有一定开发经验的开发者进一步扩展其Odoo软件开发技能。Odoo作为一款灵活性很大的开源软件,无疑会吸引越来越多的开发者,Odoo开发手册pdf的出现为开发者们提供了很好的学习参考工具,帮助他们的学习、开发、测试和部署工作更加高效化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值