You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo自定义模块打印员工报表时出现External ID未找到错误

Odoo报表外部ID找不到问题解决步骤
  • 核对外部ID拼写与定义
    检查自定义模块中报表的XML定义,确认外部ID gen_doc.report_cahier_des_charges 的模块名(gen_doc)和报表ID(report_cahier_des_charges)无拼写错误。正确的报表标签结构示例:

    <report id="report_cahier_des_charges" 
            model="hr.employee" 
            string="员工信息报表" 
            report_type="qweb-pdf" 
            name="gen_doc.report_cahier_des_charges_template" 
            file="gen_doc.report_cahier_des_charges_template"/>
    
  • 确认模块状态与更新
    进入Odoo应用列表,确保自定义模块gen_doc已安装。若修改过XML文件,需点击更新模块,让系统加载最新配置。

  • 检查报表模板关联
    保证报表定义中name属性对应的QWeb模板存在,模板的外部ID需与该属性一致。模板示例:

    <template id="report_cahier_des_charges_template">
        <t t-call="web.html_container">
            <t t-foreach="docs" t-as="doc">
                <div class="page">
                    <h1>员工信息:<t t-esc="doc.name"/></h1>
                    <!-- 其他员工字段内容 -->
                </div>
            </t>
        </t>
    </template>
    
  • 验证外部ID是否已加载
    可通过数据库SQL查询确认外部ID是否存在:

    SELECT * FROM ir_model_data WHERE module = 'gen_doc' AND name = 'report_cahier_des_charges';
    

    若查询无结果,需检查模块__manifest__.py的data列表是否包含该报表XML文件,再重新更新模块。

  • 核对打印按钮关联
    若通过按钮触发打印,确保按钮的action属性正确引用报表外部ID,示例:

    <button name="%(gen_doc.report_cahier_des_charges)d" string="打印报表" type="action"/>
    

内容的提问来源于stack exchange,提问作者Men777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:55:22