首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QWeb pdf报告odoo 10

QWeb pdf报告odoo 10
EN

Stack Overflow用户
提问于 2017-10-03 14:19:21
回答 1查看 1.9K关注 0票数 3

我是新来的odoo我想做一个报告pdf给我的模型,我已经尝试了所有的图图,我在网上youtube,谷歌,但没有人为我工作,请给我一个建议。这就是我的模型:

代码语言:javascript
复制
# modelx.py file
from openerp import models, fields, api

class omega(models.Model):
    _name = 'omega.model'
    _description = 'No Description for now !!'

    @api.model
    def render_html(self, docids, data=None):
        report_obj = self.env['report']
        report = report_obj._get_report_from_name('report.external_layout')
        docargs = {
            'doc_ids': docids,
            'doc_model': report.model,
            'docs': self,
        }
        return report_obj.render('report.external_layout', docargs)


    state = fields.Selection([
        ('Nouveau', 'Nouveau'),
        ('valid', 'Validation Responsable'),
        ('Termine', 'Termine'),
    ],default='Nouveau')

    @api.one
    def confirmer(self):
        self.write({
            'state': 'valid',
        })

    employe = fields.Many2one(comodel_name="res.users", string="Employe", required=True, delegate=True)
    date = fields.Datetime(string="Date", required=True)
    date2 = fields.Date(string="Date2", required=True)
    day_number = fields.Integer(string="Nombre de jour", required=True)
    transport = fields.Selection(string="Transport", selection=[('1', 'Train'), ('2', 'Voiture de Service'), ('3', 'Avion')])
    sujet = fields.Char(string="Sujet", required=True)
    lieu = fields.Char(string="Lieu", required=False)

我还有这两个文件XML:

代码语言:javascript
复制
<!-- report.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<openerp>
    <data>
        <report
            id="action_report_omega"
            model="omega.model"
            string="Report"
            report_type="qweb-pdf"
            file="report.external_layout"
            name="report.external_layout"
        />
    </data>
</openerp>

以及我在net和odoo文档中找到的模板视图文件。

代码语言:javascript
复制
<!-- report_template.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<openerp>
    <data>
        <template id="report_omega_document">
            <t t-call="report.html_container">
            <t t-call="report.external_layout">
                <div class="page">
                <div class="oe_structure">
                <div class="row">
                    <H1>Hi there hello</H1>
                </div>
                </div>
                </div>
            </t>
            </t>
        </template>
        <template id="report_omega">
            <t t-call="report.html_container">
            <t t-call="report.external_layout">
                <t t-foreach="doc_ids" t-as="doc_id">
                    <div class="page">
                    <div class="oe_structure">
                    <div class="row">
                        <H3>Hi hello </H3>
                    </div>
                    </div>
                    </div>
                </t>
            </t>
            </t>
        </template>

    </data>
</openerp>

当我执行打印报告的程序时,我得到一个空文件,请给我任何建议。

EN

回答 1

Stack Overflow用户

发布于 2017-10-03 14:25:13

您需要更改报表标记的文件和名称属性。它总是表示module_name.report_template_name

代码语言:javascript
复制
<report
    id="action_report_omega"
    model="omega.model"
    string="Report"
    report_type="qweb-pdf"
    file="your_module_name.report_omega"
    name="your_module_name.report_omega"
/>

然后,升级您的模块并尝试它。它应该能正常工作。

有关更多详细信息,请参阅Qweb报告- Odoo10文档。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46546839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档