错误:OpenERP中的“在系统中找不到外部ID”

2024-04-29 15:54:58 发布

您现在位置:Python中文网/ 问答频道 /正文

当尝试安装模块时,我收到一个错误。我认为外部ID指的是视图ID:

raise ValueError('External ID not found in the system: %s' % (xmlid))
ParseError: "External ID not found in the system: nk_test.bom_where_use_form" while parsing /opt/odoo/odoo/addons/nk_test/mrp_where_bom.xml:4, near
<record id="action3" model="ir.actions.act_window">
            <field name="name">Where Use</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.template</field>            
            <field name="view_type">form</field>
            <field name="target">new</field>
            <field name="view_id" ref="bom_where_use_form"/>
        </record>

这是我的xml文件。表单“bom_where_use_form”已定义,我不知道为什么它不可见。

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
         <record id="action3" model="ir.actions.act_window">
            <field name="name">Where Use</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.template</field>            
            <field name="view_type">form</field>
            <field name="target">new</field>
            <field name="view_id" ref="bom_where_use_form"/>
        </record>
        <record id="ir_BOM_structure3" model="ir.values">
            <field eval="'client_action_multi'" name="key2"/>
            <field eval="'product.template'" name="model"/>
            <field name="name">Where Use</field>
            <field eval="'ir.actions.act_window,'+str(action3)" name="value"/>
        </record>


        <record id="action4" model="ir.actions.act_window">
            <field name="name">Where Use</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.product</field>            
            <field name="view_type">form</field>
            <field name="target">new</field>
            <field name="view_id" ref="bom_where_use_form"/>
        </record>
        <record id="ir_BOM_structure4" model="ir.values">
            <field eval="'client_action_multi'" name="key2"/>
            <field eval="'product.product'" name="model"/>
            <field name="name">Where Use</field>
            <field eval="'ir.actions.act_window,'+str(action4)" name="value"/>
        </record>


         <record id="bom_where_use_form" model="ir.ui.view">
            <field name="name">bom.where.use.form</field>
            <field name="model">product.template</field>
            <field name="priority" eval="20"/>
            <field name="type">form</field>
            <field name="arch" type="xml">

                <field name="text_field" on_change="onchange_template_id(100)" readonly="1" /> 
            </field> 
         </record>

    </data>
</openerp>

我想知道少了什么。


Tags: nameformactionsidfieldmodeliruse
1条回答
网友
1楼 · 发布于 2024-04-29 15:54:58

尝试将bom_where_use_form移动到XML文件的顶部。在使用ref参数时,这似乎是一个问题:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
         <record id="bom_where_use_form" model="ir.ui.view">
            <field name="name">bom.where.use.form</field>
            <field name="model">product.template</field>
            <field name="priority" eval="20"/>
            <field name="type">form</field>
            <field name="arch" type="xml">    
                <field name="text_field" on_change="onchange_template_id(100)" readonly="1" /> 
            </field> 
         </record>

         <record id="action3" model="ir.actions.act_window">
            <field name="name">Where Use</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.template</field>            
            <field name="view_type">form</field>
            <field name="target">new</field>
            <field name="view_id" ref="bom_where_use_form"/>
        </record>

        <record id="ir_BOM_structure3" model="ir.values">
            <field eval="'client_action_multi'" name="key2"/>
            <field eval="'product.template'" name="model"/>
            <field name="name">Where Use</field>
            <field eval="'ir.actions.act_window,'+str(action3)" name="value"/>
        </record>

        <record id="action4" model="ir.actions.act_window">
            <field name="name">Where Use</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.product</field>            
            <field name="view_type">form</field>
            <field name="target">new</field>
            <field name="view_id" ref="bom_where_use_form"/>
        </record>
        <record id="ir_BOM_structure4" model="ir.values">
            <field eval="'client_action_multi'" name="key2"/>
            <field eval="'product.product'" name="model"/>
            <field name="name">Where Use</field>
            <field eval="'ir.actions.act_window,'+str(action4)" name="value"/>
        </record>
    </data>
</openerp>

相关问题 更多 >