非默认视图过滤器不显示
有一个带有时间表模块(自制)的odoo系统。我需要在我的xml文件的视图部分中添加一些视图过滤器。我做了默认的和它的作品:非默认视图过滤器不显示
<!-- tabel search view 1 -->
<record id="view_tabel_search1" model="ir.ui.view">
<field name="name">tabel.tabel.search1</field>
<field name="model">tabel.tabel</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Checker">
<filter
string="Last and following months"
name="filter1"
domain="[('write_date', '>=' ,(context_today()-relativedelta(months=2)+relativedelta(days=20)).strftime('%d-%m-%Y'))]"
help = "Press ALL to get all timesheets"/>
<field name="time_start_t" select="True"/>
<field name="id_ank" select="True"/>
</search>
</field>
</record>
但下一个(这是非常相同),则不会显示:
<!--tabel search view 2 -->
<record id="view_tabel_search2" model="ir.ui.view">
<field name="name">tabel.tabel.search2</field>
<field name="model">tabel.tabel</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Checker">
<filter
string="Current and following months"
name="filter2"
domain="[('time_end_t', '>=' ,(context_today()).strftime('%d-%m-%Y'))]"
help = "Press all to get all timesheets"/>
<field name="time_start_t" select="True"/>
<field name="id_ank" select="True"/>
</search>
</field>
</record>
所以,显示的第一个和作品,第二一个不是。它们之间唯一的区别(除了过滤规则)是过滤器1是默认的,因为在行动表示部分:
<record model="ir.actions.act_window" id="tabel_list_draft_action">
<field name="name">Tableman's sign</field>
<field name="res_model">tabel.tabel</field>
<field name="view_type">form</field>
<field name="domain">[('state','=', 'draft')]</field>
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="view_tabel_search2"/>
<field name="context">{'search_default_filter1':1,'state':'draft'}</field>
</record>
也许,我必须描述非默认过滤器为好,但我从来没有看到任何我能做到这一点的例子。所以,任何意见是高度赞赏。在
自定义搜索查看Odoo V8
什么是Odoo搜索的看法?
每当您处于树视图,看板视图或可以搜索的其他视图时,Odoo使用XML搜索视图定义来确定Odoo中的搜索应该如何针对该特定模型运行。例如,在销售订单树视图中,有特定的选项可以帮助您在Odoo中查找销售订单。
在这里,我们可以看到您有多少选项可供客户,销售人员,销售团队,合同或产品搜索。您还可以看到,我们扩大了搜索选项,我们已经过滤器将销售订单限制为仅限于销售订单,报价单,销售,发票,完成和新邮件。也可以在搜索视图中定义可用的分组依据选项。
我是否必须知道如何开发模块来自定义搜索视图?
这取决于您希望如何处理您的搜索视图。幸运的是,添加额外的字段非常容易,您可能希望搜索或删除不适合您特定业务需求的选项。但是,如果您希望创建更复杂的专用搜索,则可能需要编写自定义Python代码来满足您的对象。然而,大多数情况下,您可以通过修改搜索视图来完成大多数任务,而无需创建模块。
Odoo搜索视图的基本格式是什么?
搜索视图存储在XML中,对于具有基本的XML知识的人来说,它非常易读。以下是基本搜索视图:
<?xml version="1.0"?>
<search string="Search Sales Order">
<field name="name" string="Sales Order" filter_domain="['|',('name','ilike',self),('client_order_ref','ilike',self)]"/>
<field name="partner_id" operator="child_of"/>
<field name="user_id"/>
<field name="section_id" string="Sales Team" groups="base.group_multi_salesteams"/>
<field name="project_id"/>
<field name="product_id"/>
<filter string="My" domain="[('user_id','=',uid)]" name="my_sale_orders_filter"/>
<separator/>
<filter string="Quotations" name="draft" domain="[('state','in',('draft','sent'))]" help="Sales Order that haven't yet been confirmed"/>
<filter string="Sales" name="sales" domain="[('state','in',('manual','progress'))]"/>
<filter string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/>
<filter string="Done" domain="[('state','=','done')]" help="Sales Order done"/>
<separator/>
<filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/>
<group expand="0" string="Group By">
<filter string="Salesperson" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Customer" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Order Month" domain="[]" context="{'group_by':'date_order'}"/>
</group>
</search>
每个元素都会告诉Odoo引擎确切地说在搜索中有哪些选项可用。
为什么我要修改Odoo中的搜索视图?
至于记录的数量增加你的系统中,用户将花费越来越多的时间找到他们需要完成特定任务的记录。如果系统中只有几十个销售订单,那么定位数据不成问题。但随着数据的增长,搜索功能使用户更容易找到记录变得更加重要。也许不是在Odoo任何其他定制选项越多,abiltity定制搜索视图有可能提高用户的满意度和安全的时间在使用该系统的最大潜力。
谢谢回答,但问题恰恰是在我尝试加入滤光片来xml文件:他们只是不显示在所有除默认的。 – Scraggesh
@scraggesh这只是一个搜索视图听到那么odoo你可以定义多个过滤器这个搜索视图。 –
这正是我想要做的事:我试图通过描述他们的观点xml文件我的模块中添加多个过滤器。但只有默认的可见。 我是否应该在xml文件的* actions *部分包含过滤器? – Scraggesh