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>
  1. 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

  1. 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
  2. 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>

Pueden descargar un ejemplo a travez del siguiente link

HerenciaVistaNueva.zip

Resultado del codigo

Resultado Herencia

Herencia Extendiendo la Funcionalidad de las Aplicaciones Existentes

https://github.com/Bachaco-ve/formacion-bachaco/blob/master/capitulo_iii_herencia.md

⚠️ **GitHub.com Fallback** ⚠️