2013-04-09 2 views
1

Мне нужно загрузить данные из класса в поле другого класса в том же модуле.Загрузить класс в поле того же модуля - OpenErp

Мне нужно это, чтобы показать дерево данных в виде xml.

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() 

Я видел в другом модуле, что первый класс не замыкаться, я имею в виду, в этом классе «certificados» не будет иметь «certificados()» код в нижней части.

Не знаю, возможно ли это, или если я делаю что-то неправильно здесь.

Вид поля «cert_ids» из certificados, должны иметь вид:

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

Я не знаю, если я делаю что-то неправильно, но XML дает мне недопустимые ошибки архитектуры, и поле работает неправильно.

Заранее благодарен!


После коррекции производится user1576199, она по-прежнему дает мне ошибку, кто-нибудь знает, если есть ошибка в кодах?

Это Pastebins

xml

python

ответ

1

Привет использовать эту точку зрения.

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

Вы использовали <field name="notas"/>, который не завершает работу в certificados.line объекта.

+0

Привет, спасибо, я попытался, но все еще получаю ошибку, при недействительной xml для архитектуры представления, это коды [xml] (http://pastebin.com/S9LxcbWq) и [python] (http: // pastebin.com/EFdW7P5j) – NeoVe

+0

Nevermind Я думаю, что получил, поэтому я открыл новый вопрос, спасибо! – NeoVe