1
votes

I need to load data from a class, into a field of another class in the same module.

I need this to show a tree of data in the xml view.

class certificados(osv.osv):

_name = 'certificados.certificados'
_description="Certificados de No Produccion"
_inherit = ['mail.thread', 'ir.needaction_mixin']

_columns = {
            'Item' : fields.integer('Item'), 'Registro_Numero' : fields.integer('Registro Numero'),
            'Fecha_de_Emision': fields.date('Fecha de Emision', required=True, select=True),
            'Fecha_de_Solicitud': fields.date('Fecha de Solicitud', required=True, select=True),
            'Fecha_del_Documento': fields.date('Fecha del Documento', required=True, select=True),
            'Vigencia' : fields.integer('Vigencia'), 'cert_ids' : fields.one2many('certificados.line','requisicion_id','Items del Certificado',states={'done': [('readonly', True)]}),
            'descripcion' : fields.text('Descripcion'),
            'notas' : fields.text('Notas'),
            }
certificados()

class certificados_line(osv.osv):

_name = "certificados.line"
_description="Certificados No Produccion"

_columns = {
    'Codigo_Arancelario' : fields.integer('Codigo Arancelario'),
    'product_id' : fields.many2one('product.product', 'Material'),
    'Descripcion_Arancelaria' : fields.char('Descripcion Arancelaria', size=42, required = True, translate = True), 
    'Especificaciones_Tecnicas' : fields.char('Especificaciones Tecnicas', size=60, required = True, translate = True), 
    'Cantidad' : fields.float('Cantidad'), 'Unidad_de_Medida': fields.many2one('product.uom', 'Unidad de Medida'),
    'Precio_Unitario_Declarado' : fields.float('Precio Unitario Declarado'), 'Moneda' : fields.many2one('res.currency', 'Moneda'),
    'Valor_En_Divisas' : fields.float('Valor En Divisas'),
    'requisicion_id' : fields.many2one('certificados.certificados', 'Certificados de No Produccion', ondelete='cascade'),
    'Cantidad_Consumida' : fields.float('Cantidad Consumida'), 'Cantidad_Disponible' : fields.float('Cantidad Disponible'),

}
certificados_line()

I've seen in another module that the first class doesn't close itself, i mean, in this class 'certificados' wouldn't have the 'certificados()' code in the bottom.

Don't know if this is possible, or if i'm doing something wrong here.

The view of 'cert_ids' field of certificados, should be of the form:

                   <notebook>
                      <page string="Productos">
                            <field name="cert_ids">
                                <tree string="Productos">
                                    <field name="product_id"/>
                                    <field name="Codigo_Arancelario"/>
                                    <field name="Descripcion_Arancelaria"/>
                                    <field name="Especificaciones_Tecnicas"/>
                                    <field name="Cantidad"/>
                                    <field name="Precio_Unitario_Declarado"/>
                                    <field name="Valor_En_Divisas"/>
                                    <field name="Cantidad_Consumida"/>
                                    <field name="notas"/>
                                </tree>
                            </field>
                            <separator string="Observaciones"/>
                            <field name="descripcion"/>
                        </page>
                    </notebook>

I don't know if i'm doing something wrong, but the xml gives me invalid architecture errors, and the field is not working correctly.

Thanks in advance!


After the correction made by user1576199, it is still giving me the error, does anybody knows if there's an error in the codes?

These are the Pastebins

xml

python

1

1 Answers

1
votes

Hello use this view.

                      <notebook>
                          <page string="Productos">
                                <field name="cert_ids">
                                    <tree string="Productos">
                                        <field name="product_id"/>
                                        <field name="Codigo_Arancelario"/>
                                        <field name="Descripcion_Arancelaria"/>
                                        <field name="Especificaciones_Tecnicas"/>
                                        <field name="Cantidad"/>
                                        <field name="Precio_Unitario_Declarado"/>
                                        <field name="Valor_En_Divisas"/>
                                        <field name="Cantidad_Consumida"/>
                                   </tree>
                                </field>
                                <separator string="Observaciones"/>
                                <field name="descripcion"/>
                            </page>
                        </notebook>

You used <field name="notas"/> which does not exits in certificados.line object.