1

我需要为我的模块的树视图添加一个默认过滤器。

我在 openerp 中看到了一些代码示例,例如:

<filter
    string="Partner"
    icon="terp-partner"
    domain="[]"
    context="{'group_by':'partner_id'}"
    />

purchase模块partner_id中的这个为例,按 分组。

现在,我有一个自定义模块,当您单击它的菜单时,我需要一个“默认”过滤器。

并且此过滤器必须显示所有未“过期”的记录,或者在我浏览模块中的记录时尚未超过实际日期的记录。

我的自定义模块中有这个字段:

'Fecha_de_Vence': fields.date(
    'Fecha de Vencimiento',
    required=True,
    select=True,
    ),

这是我需要作为此模块中所有记录的过滤器的字段。

现在,在“高级搜索”中,例如,我可以将其设置为Fecha de Vencimiento不超过actual date,我需要将其作为“默认”过滤器。

任何人都可以了解如何在 openerp 的 xml 视图中默认获取此信息?

4

2 回答 2

7

您需要一个搜索视图和 act_window 中的上下文条目:

<record id="search_xxx_filter" model="ir.ui.view">
    <field name="name">module.class.select</field>
    <field name="model">module.class</field>
    <field name="arch" type="xml">
        <search string="Search xxx">
            <field name="Fecha_de_Vence" string="Fecha de Vencimiento" filter_domain="[(1,'=',1)]"/>
            <separator/>
            <filter string="Fecha de Vencimiento" name="type_date" domain="[(1,'=',1)]" help="..."/>
            <separator/>
            <group expand="0" string="Group By...">
                <filter string="Assigned to" domain="[]" context="{'group_by' : 'user_id'}" />
                <filter string="Status" domain="[]" context="{'group_by': 'state'}"/>
                <filter string="Priority" domain="[]" context="{'group_by': 'priority'}"/>
            </group>
        </search>
    </field>
</record>

<record id="module_class_act" model="ir.actions.act_window">
    <field name="name">xxx</field>
    <field name="res_model">module.class</field>
    <field name="view_type">form</field>
    <field name="context">{"search_default_type_date":1}</field>
    <field name="view_id" ref="module_class_tree-view"/>
</record>

我将组条目保留在其中,以便您可以查看它们的外观,但您需要删除它们或调整它们以匹配您的数据。此外,单词moduleandclass应替换为您的数据。

于 2013-08-03T18:51:18.640 回答
4

伊森

这就是我解决它的方法,没有你的建议是不可能的:

<record id="solvencia_search" model="ir.ui.view">
<field name="name">solvencia.solvencia.select</field>
<field name="model">solvencia.solvencia</field>
<field name="arch" type="xml">
    <search string="Solvencias">
        <field name="Fecha_de_Vence" string="Fecha de Vencimiento" filter_domain="[('Fecha_de_Vence','=',((context_today()-datetime.timedelta(days=10)).strftime('%%Y-%%m-%%d')))]"/>
        <separator/>
        <filter string="Fecha de Vencimiento" name="type_date" domain="[('Fecha_de_Vence','=',((context_today()-datetime.timedelta(days=10)).strftime('%%Y-%%m-%%d')))]" help="..."/>
        <separator/>
        <group expand="0" string="Group By...">
            <filter string="Assigned to" domain="[]" context="{'group_by' : 'Fecha_de_Vence'}" />
            <filter string="Status" domain="[]" context="{'group_by': 'Fecha_de_Emision'}"/>
            <filter string="Priority" domain="[]" context="{'group_by': 'nsol'}"/>
        </group>
    </search>
</field>

contextact_window

<record id="action_solvencia_solvencia" model="ir.actions.act_window">
    <field name="name">Solvencias</field>
    <field name="res_model">solvencia.solvencia</field>
    <field name="view_type">form</field>
    <field name="context">{"search_default_type_date":1}</field>
    <field name="view_mode">tree,form</field>
    <field name="view_id" ref="solvencia_solvencia_tree"/>
        <field name="nsol" />
        <field name="Fecha_de_Emision" />
        <field name="Fecha_de_Vence" />
        <field name="ministerio" />
        <field name="ins_em" />
        <field name="cod_ver" />
        <field name="cadidate" />
        <field name="observa" />
</record>

完美运行,非常感谢!

于 2013-08-05T23:48:00.413 回答