【问题标题】:Actions View not showing what it should - XML OpenErp操作视图没有显示它应该显示的内容 - XML OpenErp
【发布时间】:2013-04-11 04:56:06
【问题描述】:

我得到了这个观点

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

它与我想要的 module.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 时才会正确显示,但随后它将无法在表单上正常工作。表格显示没有工作表、笔记本等...

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

【问题讨论】:

    标签: python xml view module openerp


    【解决方案1】:

    您制作了对象 certificados.line 的树形视图和对象 certificados.certificados 的表单视图。

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

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

    到目前为止,您所做的是创建对象 certificados.certificados 的表单视图和 certificados.line 的树视图。那么为什么这会产生问题。

    如果您为对象 certificados.certificados 进行 action,那么树形视图和表单视图必须属于该对象。

    希望你能理解

    【讨论】:

    • 再次感谢您!是的,你说得对,现在它可以工作了,问题是我的客户需要在树视图中,包含在 certificados.line 中的字段,有没有办法做到这一点?
    • @NeoVe,你解决了上面这条评论的问题了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2013-01-28
    • 2018-10-10
    • 2015-03-17
    • 1970-01-01
    相关资源
    最近更新 更多