2013-04-10 40 views
1

我在module.py無效的XML視圖結構問題 - OpenERP的

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'), 
     } 

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

得到這個代碼,並在我的module_view.xml表格視圖模型

<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="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> 
       </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更多的代碼,但這是有趣的,我的意思是,我猜無效架構錯誤是因爲我使用的模型(certificados.certificados),因爲(cert_ids)調用另一個類稱爲(certificados_line),所以,我的問題是,如何在窗體視圖中嵌入多個模型?

我在另一個叫做purchase_requisition的模塊中看到,這是可能的,但出於某種原因,我無法用這個,任何想法完成它?

+0

你也應該發佈你的錯誤。 – 2013-04-10 04:07:16

+0

[XML錯誤](http://pastebin.com/Bc0fh69s)那裏是 – NeoVe 2013-04-10 04:58:22

回答

1

第一個問題 最新的第一篇討論關於您的搜索certificados的看法。

在搜索查看您添加字段,不退出的對象certificados.certificados 您已經添加了場<field name="Valor_En_Divisas" string="Valor En Divisas" />但實際上在對象這一領域退出certificados.line

<record model="ir.ui.view" id="certificados_search"> 
      <field name="name">certificados.search</field> 
      <field name="model">certificados.certificados</field> 
      <field name="type">search</field> 
      <field name="arch" type="xml"> 
      <search string="Buscar Certificados" > 
       <field name="notas" string="Notas" /> 

       <field name="Valor_En_Divisas" string="Valor En Divisas" /> 
      </search> 
      </field> 
     </record> 

現在討論關於你的第二個問題

<record id="certificados_certificados_tree" model="ir.ui.view"> 
       <field name="name">certificados.result.tree.new</field> 
       <field name="model">certificados.certificados</field> 
       <field name="type">tree</field> 
       <field name="arch" type="xml"> 
         <tree string="Crear_Certificado" > 
           <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> 
       </field> 
     </record> 

在此樹視圖中,您定義了對象certificados.certificados只是與此對象相關的一個字段<field name="Item" />所有其他字段都與certificados.line對象相關。

當您從搜索和表單視圖中刪除屬於certificados.line的字段時,它完美地工作。

正如我告訴,我剛剛解決的一個問題,從前面的問題,這兩個問題也是在你看來,當定義樹視圖或搜索視圖,PLZ需要考慮把現場的那個對象擁有。

+0

Geez,我不敢相信我沒有注意到,非常感謝你,我明天會試試它(這是凌晨1點)但是謝謝你,你救了我的命! – NeoVe 2013-04-10 05:36:14

+0

完美地工作,非常感謝你!像平常一樣令人敬畏!它只是給了我另一個棘手的問題,但我在另一個問題中提出了這個問題。謝謝。 – NeoVe 2013-04-11 05:01:53

+0

歡迎朋友! – user1576199 2013-04-11 05:09:39