2013-04-07 40 views
0

我得到了我的模塊certificados.py的XML,該模塊的.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> 

我做了一些修改,但我不能得到錯誤的地方,修改版本的形式是:

<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

py文件中的字段定義可能存在問題。

您正在定義像這樣的字段:'Codigo Arancelario' : fields.integer('Codigo Arancelario'),但它必須是這樣的'Codigo_Arancelario' : fields.integer('Codigo Arancelario')。這就是你面臨錯誤的原因。

因此,在py和xml中更改您的字段定義,然後嘗試。

我希望它會工作。

+0

我想去試試,謝謝! – NeoVe 2013-04-07 18:21:07

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 2014-01-06 16:41:17