首页 文章

在odoo 12中报告问题

提问于
浏览
0

我在odoo 12中为account.invoice开发了一个新的报告,但是当我打算打印这个时,它在12.0分支中给出了这样的警告:

报告的模板“模板名称”错误,请与您的管理员联系 .

无法将文件分隔为保存为附件,因为报表的模板不包含带有“article”类名的div上的“data-oe-model”和“data-oe-id”属性 .

在master分支中它表示数据模型而不是data-oe-model,data-id而不是data-oe-id和'page'classname而不是'article'classname

如果有人遇到同样的问题并找到解决方案,请告诉我 .

谢谢

2 回答

  • 1

    是的,您需要修改external_layout,在我的情况下,它是自定义布局,我使用下面的XML解决了它

    <template id="custom_layout">
        <!-- Multicompany -->
            <div class="article o_report_layout_standard" t-att-data-oe-model="doc and doc._name" t-att-data-oe-id="doc and doc.id">
                <t t-if ="doc and 'company_id' in doc" >
                    <t t-set="company" t-value="doc.company_id"/>
                    <t t-set="customer" t-value="doc.partner_id"/>
                </t>
                <t t-call="custom_sale_report_v12.custom_layout_header"/>
                <t t-raw="0"/>
                <t t-call="ce_sale_report_v12.custom_layout_footer"/>
            </div>
        </template>
    
  • 0

    我在朋友的帮助下解决了这个问题:

    在external_layout中,您必须定义't-att-data-oe-model'和't-att-data-oe-id' . 添加这个:

    <div class="article o_report_layout_standard" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id">
        <t t-call="web.address_layout"/>
        <t t-raw="0"/>
    </div>
    

    以前这段代码(v11)是这样的:

    <div class="article o_report_layout_standard">
        <t t-raw="0" />
    </div>
    

    希望它能解决你的问题 . 此更改是因为现在可以使用工作室应用程序在v12中编辑该报表 .

相关问题