2013-04-07 2 views
0

Я получил XML для моего модуля certificados.py, то .py модуля похожения:дизайна XML OpenERP

class certificados(osv.osv): 

_name = 'certificados.certificados' 

_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'), 
      'Codigo Arancelario' : fields.integer('Codigo Arancelario'), 
      'cert_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase',states={'done': [('readonly', True)]}), 
      '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'), 
      'Cantidad Consumida' : fields.float('Cantidad Consumida'), 'Cantidad Disponible' : fields.float('Cantidad Disponible'), 
      'notas' : fields.text('Notas'), 
      } 
certificados() 

Я пытаюсь сделать некоторый дизайн к этому модулю, так он показывает, как заявки, я означает не только запись, но с каким-то «листом» и «h1» и «ноутбук» такими вещами, как, что, кодом для моего модуля в разделе это «форма» имеет вида:

<record id="student_certificados_form" model="ir.ui.view"> 
    <field name="name">certificados.result.form</field> 
    <field name="model">certificados.certificados</field> 
    <field name="type">form</field> 
    <field name="arch" type="xml"> 
     <form string="Introducir los datos" > 
      <field name="Codigo Arancelario" /> 
        <field name="Descripcion Arancelaria" /> 
        <field name="Especificaciones Tecnicas" /> 
        <field name="Cantidad" /><field name="Unidad de Medida" /> 
        <field name="Precio Unitario Declarado" /><field name="Moneda" /> 
        <field name="Valor En Divisas" /><field name="Moneda" /> 
        <field name="Cantidad Consumida" /> 
        <field name="Cantidad Disponible" /> 
      </form> 
    </field> 
</record> 

I внесли некоторые изменения, но я не могу получить, где ошибка, модифицированная версия имеет вид:

<record id="student_certificados_form" model="ir.ui.view"> 
    <field name="name">certificados.result.form</field> 
    <field name="model">certificados.certificados</field> 
    <field name="arch" type="xml"> 
     <form string="Introducir los datos" version="7.0"> 
     <sheet> 
      <div class="oe_edit_only"> 
       <label for="Registro Numero" class="oe_inline"/> 
      </div> 
      <h1> 
       <field name="Registro Numero" class="oe_inline"/> 

      </h1> 
      <group> 
       <group> 
        <field name="Fecha de Emision"/> 
        <field name="Fecha de Solicitud"/> 
       </group> 
       <group> 
        <field name="Fecha del Documento"/> 
        <field name="Vigencia"/> 
       </group> 
      </group> 
      <notebook> 
      <page string="Certificados"> 
        <field name=" 
         <tree string="certificados_certificados_tree" editable="bottom"> 
          <field name="Item" /> 
          <field name="Codigo Arancelario" /> 
          <field name="Descripcion Arancelaria" /> 
          <field name="Especificaciones Tecnicas" /> 
          <field name="Precio Unitario Declarado" /> 
          <field name="Valor En Divisas" /> 
          <field name="Cantidad Consumida" /> 
          <field name="Cantidad Disponible" /> 
         </tree> 
         <form string="Certificados" version="7.0"> 
          <group> 
           <field name="Codigo Arancelario" /> 
           <field name="Especificaciones Tecnicas"/> 
           <field name="Valor En Divisas" /> 
          </group> 
         </form> 

       <separator string="Certificados"/> 
       <field name="Item" readonly="1"> 
       <tree string="Certificados" > 
        <field name="Codigo Arancelario" /> 
        <field name="Descripcion Arancelaria" /> 
        <field name="Especificaciones Tecnicas" /> 
        <field name="Cantidad" /><field name="Unidad de Medida" /> 
        <field name="Precio Unitario Declarado" /><field name="Moneda" /> 
        <field name="Valor En Divisas" /><field name="Moneda" /> 
        <field name="Cantidad Consumida" /> 
        <field name="Cantidad Disponible" /> 
       </tree> 
       </field> 
      </page> 
     </notebook> 
    </sheet> 
       <div class="oe_chatter"> 
      <field name="message_follower_ids" widget="mail_followers"/> 
      <field name="message_ids" widget="mail_thread"/> 
     </div> 

      </form> 
    </field> 
</record> 

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

Может ли кто-нибудь дать мне понять, где ошибка?

Заранее спасибо

ответ

1

Там может быть проблема в вашем определении поля в файле ру.

Вы определяете такие поля: 'Codigo Arancelario' : fields.integer('Codigo Arancelario'), но это должно быть как 'Codigo_Arancelario' : fields.integer('Codigo Arancelario'). Вот почему вы столкнулись с этой ошибкой.

Итак, измените определение полей в py и xml, а затем попробуйте.

Я надеюсь, что это сработает.

+0

Im собираюсь попробовать thi, спасибо! – NeoVe

1

Даже после улучшения названия вашего поля от 'Codigo Arancelario' до 'Codigo_Arancelario', Вы по-прежнему получите сообщение об ошибке, как указано выше. Я могу проанализировать, что вы можете забыть или вы не знаете, что для типа поля «one2many» должно быть многое поле, ссылающееся на этот объект на другой объект.

Here in your module's scenario, You have to define many2one field in purchase.requisition.line for 'cert_ids'. 

Try This : 

instead of 'cert_ids' , use this one over there 

'cert_ids' : fields.one2many('purchase.requisition.line','cert_requisition_id','Products to Purchase',states={'done': [('readonly', True)]}), 



And after that add an object, in your .py file i.e 

class purchase_requisition_line(osv.Model): 
    _inherit = 'purchase.requisition.line' 
    _columns = { 
     'cert_requisition_id': fields.many2one('certificados.certificados', 'Products to Purchase') 
    } 
purchase_requisition_line() 

Hope this will Solve your Error. 
+0

Постарайтесь написать вам, спасибо вам большое – NeoVe