Odoo自定义模块打印员工报表时出现External ID未找到错误
Odoo报表外部ID找不到问题解决步骤
核对外部ID拼写与定义
检查自定义模块中报表的XML定义,确认外部IDgen_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
相关产品推荐
相关产品推荐

