Error: "External ID not found in the system" in OpenERP

10,886

Try moving bom_where_use_form to the top of your XML file. It seems that this is an issue when using the ref parameter:

<?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>
Share:
10,886
SmithMcPatrick
Author by

SmithMcPatrick

I am a Software Developer with ineterests in electronics, signal processing, software.

Updated on June 08, 2022

Comments

  • SmithMcPatrick
    SmithMcPatrick almost 2 years

    When trying to install a module I am getting an error. I believe the External ID refers to view_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>
    

    Here is my xml file. The form "bom_where_use_form" is defined and I don't know why it is not visible.

    <?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>
    

    I am wondering what is missing.