Herencia - leninsvg/Odoo GitHub Wiki
<record model="ir.ui.view" id="nombre_modelo_inherit">
<field name="name">nombre.modelo.inherit</field>
<!-- El objeto debe ser el del padre ya que vamos a heredar la vista de este ejemplo: res.company -->
<field name="model">objeto heredado</field>
<field name="type">form</field>
<!-- Aqui se debe referenciar el formulario que se va a heredar ejemplo: base.view_company_form -->
<field name="inherit_id" ref="carpeta_que_almacena_el_modelo.id_del_la_vista" />
<field name="arch" type="xml">
<field name="elemento_en_la_vista" position="after">
<field name="nuevo_elemento_a_insertar"/>
</field>
<!-- Con atributes modificamos las propiedasdes de elementos existentes en la vista -->
<page string="pagina en la vista" position="attributes">
<attribute name='invisible'>1</attribute>
</page>
</field>
</record>
<record model="ir.ui.view" id="nombre_modelo_inherit">
<field name="name">nombre.modelo.inherit</field>
<!-- El objeto debe ser el del padre ya que vamos a heredar la vista de este ejemplo: res.company -->
<field name="model">objeto heredado</field>
<field name="type">form</field>
<!-- Aqui se debe referenciar el formulario que se va a heredar ejemplo: base.view_company_form -->
<field name="inherit_id" ref="carpeta_que_almacena_el_modelo.id_del_la_vista" />
<field name="arch" type="xml">
<field name="elemento_en_la_vista" position="after">
<field name="nuevo_elemento_a_insertar"/>
</field>
<!-- Con atributes modificamos las propiedasdes de elementos existentes en la vista -->
<page string="pagina en la vista" position="attributes">
<attribute name='invisible'>1</attribute>
</page>
</field>
</record>
- partienedo de esto procedemos a heredar una vista teniendo en cuenta los siguientes aspectos.
- modelo=gol_company
- objeto padre= res.company
Campos a del padre
- phone
- Configuration
- Report Configuration
Campos a aderir del hijo
- tradename
- idIdentificationType
Codigo Resultante
-
Una vez que tenemos la vista heredada nesesitamos de un menu para acceder a ella para lo cual utilizamos lo siguiente:
nombre.gol.company.inherit res.company form 1 1 Modulo res.company form form -
Finalmente el codigo resultante quedaria de la siguiente manera:
<?xml version="1.0" encoding="UTF-8"?> <openerp> <data> <record model="ir.ui.view" id="nombre_gol_company_inherit"> <field name="name">nombre.gol.company.inherit</field> <field name="model">res.company</field> <field name="type">form</field> <field name="inherit_id" ref="base.view_company_form" /> <field name="arch" type="xml"> <field name="phone" position="after"> <field name="tradename"/> <field name="idIdentificationType"/> </field> <page string="Configuration" position="attributes"> <attribute name='invisible'>1</attribute> </page> <page string="Report Configuration" position="attributes"> <attribute name='invisible'>1</attribute> </page> </field> </record> <record id='action_modulo' model='ir.actions.act_window'> <field name="name">Modulo</field> <field name="res_model">res.company</field> <field name="view_mode">form</field> <field name="view_type">form</field> </record> <!-- Ejemplo de creacion de menus --> <menuitem name="Modulo Procesos" id="menu_modulo" sequence="25" /> <menuitem name="Sub Modulo" id="menu_modulo_sub" sequence="1" parent="menu_modulo" /> <menuitem id="menu_modulo_sub_prueba" sequence="1" parent="menu_modulo_sub" action="action_modulo" /> </data> </openerp>
https://github.com/Bachaco-ve/formacion-bachaco/blob/master/capitulo_iii_herencia.md