代码之家  ›  专栏  ›  技术社区  ›  NeoVe

操作视图没有显示应该显示的内容-XML OpenErp

  •  0
  • NeoVe  · 技术社区  · 13 年前

    我有这个观点

    <record id="action_certificados_certificados" model="ir.actions.act_window">
        <field name="requisicion_id">Certificados</field>
        <field name="res_model">certificados.certificados</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        </record> 
    

    它与我想要的模块完美配合。py

    class certificados(osv.osv):
    
    _name = 'certificados.certificados'
    _description="Certificados de No Produccion"
    
    _columns = {
                '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'),
                'descripcion' : fields.text('Descripcion'),
                'notas' : fields.text('Notas'),
                }
    
    
    class certificados_line(osv.osv):
    
    _name = "certificados.line"
    _description="Certificados No Produccion"
    _inherit = ['mail.thread', 'ir.needaction_mixin']
    
    _columns = {
        'Item' : fields.integer('Item'),
        '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()
    

    但它只有在根据需要显示表单时才起作用,但在树视图中不起作用,如果我将“res_model”更改为“certificados.line”,则它会显示在树模式下应该显示的内容,但不会加载certificados.certificados表单,

           <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上的实际“树”声明:

    <record id="view_certificados_tree" model="ir.ui.view">
        <field name="name">certificados.tree</field>
        <field name="model">certificados.line</field>
        <field name="type">tree</field>
        <field name="arch" type="xml">
            <tree string="Certificados" >
                <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.line的操作中更改certificados.certificados时,这才会正确显示,但随后它将无法在表单上正常工作。表单显示时没有纸张、笔记本等。。。

    这是它现在在树模式下向我展示的内容:

    ActionsTree

    1 回复  |  直到 13 年前
        1
  •  2
  •   user1576199    13 年前

    您制作了对象的树状视图 证书行 和对象的形式视图 证书 .

    您必须使用此树视图更改树视图。

    <record id="view_certificados_tree" model="ir.ui.view">
        <field name="name">certificados.tree</field>
        <field name="model">certificados.certificados</field>
        <field name="type">tree</field>
        <field name="arch" type="xml">
            <tree string="Certificados" >
                <field name="Registro_Numero" />
                <field name="Fecha_de_Emision" />
                <field name="Fecha_de_Solicitud" />
                <field name="Fecha_del_Documento" />
                <field name="Vigencia" />
                <field name="descripcion" />
            </tree>
        </field>
    </record>
    

    到目前为止,你正在做的是制作物体的形式视图 证书 和的树状视图 证书行 。那么为什么这会产生问题。

    如果你 行动 对于对象 证书 那么树视图和表单视图必须是该对象。

    希望你能理解