自己创建的:

domain="[('create_uid','=',uid)]"

自己的:

domain="[('employee_id','=','#kl_user_emp#')]"

本部门的:

domain="[('department_id','=','#kl_user_dept#')]"

本部门及下属部门的:

domain="[('department_id','child_of','#kl_user_dept#')]"

今日的:

domain="[('date_from','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date_from','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]"

日前从,日期至:

<field name="date_from" string="日期从" filter_domain="[('date_from','&gt;=',self)]"/>
<field name="date_from" string="日期至" filter_domain="[('date_from','&lt;=',self)]"/>

多条件模糊过滤:(可以实现按名称和拼音简码过滤的效果)

<field name="name" filter_domain="['|',('name','ilike',self),'|',('default_code','ilike',self),('variants','ilike',self)]"/>

注意:<separator/> 统一分组内的过滤条件为 or 关系,不同分组内的过滤条件为 and 关系

搜索视图中引用的字段,必须在对应的 tree 视图中存在,可以不显示(invisible = "1"),计算字段、关联字段的值在对象中未保存时,默认不支持搜索(可以在后台编码支持搜索)

 代码示例:

<record model="ir.ui.view" id="dispatch_sale_filter">
       
<field
name="name">dispatch.sale.filter</field>
       
<field
name="model">dispatch.sale</field>
       
<field
name="type">search</field>
       
<field name="arch"
type="xml">
           
<search
string="销售单">
               
<field
name="name"/>
               
<field
name="customer"/>
               
<field
name="product"/>
               
<field
name="month"/>
               
<field
name="date"/>
               
<filter name="my_filter"

                       
string="自己创建的"
                       
icon="terp-personal"
                       
domain="[('create_uid','=',uid)]"/>
               
<field
name="create_uid"/>
               
<filter name="self_filter"

                       
string="自己的"
                       
icon="terp-personal"
                       
domain="[('employee_id','=','#kl_user_emp#')]"/>
               
<field
name="employee_id"/>
               
<filter name="department_filter"

                       
string="本部门的"
                       
icon="terp-personal"
                       
domain="[('department_id','=','#kl_user_dept#')]"/>
               
<field
name="department_id"/>
               
<separator/>
               
<filter icon="terp-check" domain="[('state','=','draft')]" string="草稿"
name="draft"/>
               
<filter icon="terp-check" domain="[('state','=','confirmed')]" string="已确认"
name="confirm"/>
               
<group expand="0"
string="分组">
                   
<filter string="按月" icon="terp-personal" domain="[]"
context="{'group_by':'month'}"/>
                   
<filter string="员工" icon="terp-personal" domain="[]"
context="{'group_by':'employee_id'}"/>
                   
<filter string="部门" icon="terp-personal+" domain="[]"
context="{'group_by':'department_id'}"/>
                   
<filter string="客户" icon="terp-personal" domain="[]"
context="{'group_by':'customer'}"/>
                   
<filter string="产品" icon="terp-personal+" domain="[]"
context="{'group_by':'product'}"/>
                   
<filter string="状态" icon="terp-stock_effects-object-colorize" domain="[]"
context="{'group_by':'state'}"/>
               
</group>
           
</search>
       
</field>
    </record>

<record model="ir.actions.act_window"
id="action_dispatch_sale_mgmt">
       
<field
name="name">销售单管理</field>
       
<field
name="type">ir.actions.act_window</field>
       
<field
name="res_model">dispatch.sale</field>
       
<field
name="view_type">form</field>
       
<field
name="view_mode">tree,form</field>
       
<field name="view_id"
ref="dispatch_sale_tree"/>
       
<field name="search_view_id"
ref="dispatch_sale_filter"/>
       
<field name="context">{'search_default_draft':1}</field>
<!--默认查询草稿状态的-->
    </record>

<!-- actions
-->
        <record
id="action_kl_qingjd_my"
model="ir.actions.act_window">
           
<field
name="name">我的请假单</field>
           
<field
name="type">ir.actions.act_window</field>
           
<field
name="res_model">kl.qingjd</field>
           
<field
name="view_type">form</field>
           
<field
name="view_mode">tree,form,calendar</field>
           
<field name="view_id"
ref="kl_qingjd_tree"/>
           
<field name="domain">[('create_uid','=',uid)]</field>
<!-- 查看自己创建的请假单
-->
           
<field name="context">{'btn_validate_invisible':False}</field>

            <field
name="search_view_id"
ref="kl_qingjd_filter"/>
       
</record>

<!-- actions
-->
        <record
id="action_kl_qingjd_validate"
model="ir.actions.act_window">
           
<field
name="name">请假单审批</field>
           
<field
name="type">ir.actions.act_window</field>
           
<field
name="res_model">kl.qingjd</field>
           
<field
name="view_type">form</field>
           
<field
name="view_mode">tree,form</field>
           
<field name="view_id"
ref="kl_qingjd_tree"/>
           
<field
name="domain">[('state','!=','draft'),('employee_id.parent_id.user_id','=',uid)]</field>
<!--查询非草稿状态的,自己直接下属的请假单-->
           
<field name="context">{'search_default_confirm':1,
'btn_validate_invisible':False}</field>
<!--默认查询待审批的-->
           
<field name="search_view_id"
ref="kl_qingjd_filter"/>
       
</record>

<!-- actions
-->
        <record
id="action_kl_qingjd_query"
model="ir.actions.act_window">
           
<field
name="name">请假单查询</field>
           
<field
name="type">ir.actions.act_window</field>
           
<field
name="res_model">kl.qingjd</field>
           
<field
name="view_type">form</field>
           
<field
name="view_mode">tree,form</field>
           
<field name="view_id"
ref="kl_qingjd_tree"/>
           
<field
name="domain">[('state','!=','draft'),('department_id','child_of','#kl_user_dept#')]</field><!--查询非草稿状态的,自己部门及下属部门的请假单-->
           
<field name="context">{'search_default_department_filter':1,
'btn_validate_invisible':False}</field>
<!--默认查询本部门的-->
           
<field name="search_view_id"
ref="kl_qingjd_filter"/>
       
</record>

今日的:

<filter icon="terp-go-today" string="今日的"
domain="[('date_from','&lt;=',time.strftime('%%Y-%%m-%%d
23:59:59')),('date_from','&gt;=',time.strftime('%%Y-%%m-%%d
00:00:00'))]"/>


日前从,日期至:

<field name="date_from" string="日期从"
filter_domain="[('date_from','&gt;=',self)]"/>
<field
name="date_from" string="日期至"
filter_domain="[('date_from','&lt;=',self)]"/>

多条件模糊过滤:(可以实现按名称和拼音简码过滤的效果)

<field
name="name"
filter_domain="['|',('name','ilike',self),'|',('default_code','ilike',self),('variants','ilike',self)]"/>

openerp学习笔记 搜索视图(自己创建的、自己的、本部门的、本部门及下属部门的、今日的、日期从,日期至、多条件模糊搜索、or、and)的更多相关文章

  1. openerp学习笔记 tree视图增加复选处理按钮

    wizard:用于确认或选择 wizard/sale_multi_action.py # -*- encoding: utf-8 -*-from openerp.osv import fields, ...

  2. odoo开发笔记 -- 搜索视图继承扩展

    odoo开发笔记 -- 搜索视图继承扩展

  3. V-rep学习笔记:机器人模型创建3—搭建动力学模型

    接着之前写的V-rep学习笔记:机器人模型创建2—添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierar ...

  4. V-rep学习笔记:机器人模型创建2—添加关节

    下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...

  5. Django:学习笔记(9)——视图

    Django:学习笔记(9)——视图 基础视图 基于函数的视图,我们需要在使用条件语句来判断请求类型,并分支处理.但是在基于类的视图中,我们可以在类中定义不同请求类型的方法来处理相对应的请求. 基于函 ...

  6. Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程

    Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  7. Django:学习笔记(8)——视图

    Django:学习笔记(8)——视图

  8. Oracle 学习笔记 11 -- 视图 (VIEW)

    本次必须学习一个全新的概念-- 视图 (VIEW).在前面的笔记中曾提到过,数据对象包含:表.视图.序列.索引和同义词.前面的笔记都是对表的想剖析,那么本次笔记就对视图的世界进行深入的剖析. 视图是通 ...

  9. openerp学习笔记 context 的应用

    1.在Action中定义,context用于传递搜索条件和分组条件,在搜索视图中默认显示: 示例代码: <record model="ir.actions.act_window&quo ...

随机推荐

  1. SpringBoot static修饰的字段/方法如何获取application.yml配置

    SpringBoot的application.yml一种特殊的应用场景,一般我们获取application.yml的配置文件只要@Value就可以获取到值了,但是如果是static修饰的字段肯定就不能 ...

  2. Delphi MSComm 控件方法

  3. 5、vim编辑器

    1.什么是VIM? 理解为windows下面的文本编辑器,比如记事本,比如word文档 2.为什么要学? 因为在后面我们配置的服务,都需要人为修改配置,以便让程序按照我们修改后的指示运行. 1.修改配 ...

  4. QTP(12)

    练习:录制两位数加法器加法计算后退出的步骤,对两个加数做随机数参数化,随机数范围是0-50,在计算后获得被测系统计算的结果,判断如果结果等于100,msgbox提示“满分”,如果结果在80和99之间, ...

  5. python高级特征:列表生成式;generator, 迭代器。

    Python高级特性 列表生成式:不过一种语法糖 生成器:不过一个方法 迭代器: 列表生成式 Python内置的函数,来创建list. 简单的生成: >>> list(range(1 ...

  6. 第六章 组件 58 组件切换-使用v-if和v-else结合flag进行切换

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  7. openssh的服务端配置文件

    一.因为部分配置长时间不使用就忘了,为了方便查阅,我在这里检点写一些比较有用的ssh配置选项. PortListenAddress ip       #监听自己的哪个端口,默认是都监听的,如果指定了I ...

  8. .NET Core 3时代!如何使用DevExpress WPF创建应用

    DevExpress广泛应用于ECM企业内容管理. 成本管控.进程监督.生产调度,在企业/政务信息化管理中占据一席重要之地.通过DevExpress WPF Controls,您能创建有着强大互动功能 ...

  9. Flutter 父子组件传值

    Flutter 父子组件传值 一父传子: 父中: void onButtonChange(val1,val2,val3){ print('============================子向父 ...

  10. Ubuntu:查询计算机软硬件信息

     造冰箱的大熊猫,本文适用于Ubuntu 16.04@cnblogs 2019/1/1 1.查询Linux内核版本 在命令行中通过命令“uname -rv”获取内核版本信息,执行实例如下所示.其中,标 ...