es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El campo de Odoo 14 no se agrega a res.company.

Simplemente quiero agregar dos nuevos campos binarios al modelo “res.company”.

Para lograr esto, en mi módulo, he agregado un archivo “company.py” en la carpeta module/models:

from odoo import models, fields

class Company(models.Model):
    _inherit = 'res.company'

    header = fields.Binary(string="Header")
    footer = fields.Binary(string="Footer")

y he agregado un archivo “company.xml” en la carpeta module/views que se ve así:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <record id="view_company_form_inherited" model="ir.ui.view">
            <field name="name">res.company.form.view.inherited</field>
            <field name="model">res.company</field>
            <field name="inherit_id" ref="base.view_company_form"></field>
            <field name="arch" type="xml">
            <xpath expr="//field[@name='vat']" position="before">
                <field name="header"></field>
                <field name="footer"></field>
            </xpath>
            </field>
        </record>
    </data>
</odoo>

en el archivo manifest.py he agregado views/company.xml a la lista de datos.
He importado el archivo company en el archivo init.py así:


# -*- coding: utf-8 -*- from . import [otros modelos], company, [otros modelos]

Desafortunadamente, cuando intento cargar el módulo en Odoo, obtengo el siguiente error:

Campo "header" no existe en el modelo "res.company"

Nombre de la vista: res.company.form.view.inherited
Contexto del error:
 vista: ir.ui.view(1772,)
 xmlid: view_company_form_inherited
 vista.modelo: res.company
 vista.padre: ir.ui.view(107,)
 archivo: /RUTA/AL/MODULO/views/company.xml

Para mí, esto parece indicar que la vista modificada funciona bien, pero el archivo .py de alguna manera no ha agregado los dos campos ‘header’ y ‘footer’ al modelo ‘res.company’.

¿Qué estoy haciendo mal?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error, parece que los campos definidos en el archivo company.py no están siendo reconocidos como parte del modelo res.company. Esto podría deberse a que el módulo no está siendo instalado correctamente, o podría haber un error de ortografía o un error en el código.

    Aquí hay algunas cosas que puedes intentar para solucionar el problema:

    1. Asegúrate de que el módulo esté instalado y actualizado correctamente en Odoo. Puedes hacer esto verificando el menú de Aplicaciones en Odoo y asegurándote de que tu módulo esté listado e instalado.

    2. Verifica nuevamente el código en company.py en busca de errores u ortografía incorrecta. Asegúrate de que los nombres de los campos estén escritos correctamente y que el código esté correctamente tabulado.

    3. Verifica que el atributo _inherit en company.py esté apuntando al modelo correcto (‘res.company’).

    4. Revisa los registros en Odoo en busca de mensajes de error adicionales o trazas de pila que puedan darte más información sobre el problema.

    5. Intenta eliminar la definición de la vista en company.xml y reinicia Odoo para ver si el problema persiste. Si los campos aún no son reconocidos, entonces el problema podría estar en el código en company.py.

    6. Si aún no puedes resolver el problema, considera comunicarte con la comunidad de Odoo o buscar ayuda de un consultor o desarrollador de Odoo que esté familiarizado con la plataforma.

Comments are closed.