openerp学习笔记 搜索视图(自己创建的、自己的、本部门的、本部门及下属部门的、今日的、日期从,日期至、多条件模糊搜索、or、and)
自己创建的:
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','>=',self)]"/>
<field name="date_from" string="日期至" filter_domain="[('date_from','<=',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','<=',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','>=',self)]"/>
<field
name="date_from" string="日期至"
filter_domain="[('date_from','<=',self)]"/>
多条件模糊过滤:(可以实现按名称和拼音简码过滤的效果)
<field
name="name"
filter_domain="['|',('name','ilike',self),'|',('default_code','ilike',self),('variants','ilike',self)]"/>
openerp学习笔记 搜索视图(自己创建的、自己的、本部门的、本部门及下属部门的、今日的、日期从,日期至、多条件模糊搜索、or、and)的更多相关文章
- openerp学习笔记 tree视图增加复选处理按钮
wizard:用于确认或选择 wizard/sale_multi_action.py # -*- encoding: utf-8 -*-from openerp.osv import fields, ...
- odoo开发笔记 -- 搜索视图继承扩展
odoo开发笔记 -- 搜索视图继承扩展
- V-rep学习笔记:机器人模型创建3—搭建动力学模型
接着之前写的V-rep学习笔记:机器人模型创建2—添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierar ...
- V-rep学习笔记:机器人模型创建2—添加关节
下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...
- Django:学习笔记(9)——视图
Django:学习笔记(9)——视图 基础视图 基于函数的视图,我们需要在使用条件语句来判断请求类型,并分支处理.但是在基于类的视图中,我们可以在类中定义不同请求类型的方法来处理相对应的请求. 基于函 ...
- Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程
Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...
- Django:学习笔记(8)——视图
Django:学习笔记(8)——视图
- Oracle 学习笔记 11 -- 视图 (VIEW)
本次必须学习一个全新的概念-- 视图 (VIEW).在前面的笔记中曾提到过,数据对象包含:表.视图.序列.索引和同义词.前面的笔记都是对表的想剖析,那么本次笔记就对视图的世界进行深入的剖析. 视图是通 ...
- openerp学习笔记 context 的应用
1.在Action中定义,context用于传递搜索条件和分组条件,在搜索视图中默认显示: 示例代码: <record model="ir.actions.act_window&quo ...
随机推荐
- 基于Dockerfile搭建JAVA Tomcat运行环境
前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而不 ...
- 如何设置树莓派 -Zero 自启动连接WIFI
1. 首先我们需要一台可以读取树莓派跟文件系统的Linux虚拟机(比如Ubuntu) 将树莓派SD卡系统插入电脑,识别并打开rootfs文件夹,切换到`rootfs/etc/wpa_supplican ...
- C# NET 微信临时素材上传
最近在做这个,一开始也是不明白为什么给个URL带着两个参数就直接上传了,网上看了很多都是PHP,但是PHP没看过是不会 的 所以就一直在找网上什么Demo之类的讲解,最后还是不错找到了一个比较好理解的 ...
- python的索引与切片和元祖
'''索引: 1.索引从0开始 2.末尾元素为 -1 3.能被for循环,有序的数据集合 切片: 1.顾头不顾尾 2.a = "123abcdfg" print(a[0::2]) ...
- System.nanoTime与System.currentTimeMillis
System.nanoTime提供相对精确的计时,但是不能用他来计算当前日期.(系统计时器的当前值,以毫微秒为单位) System.currentTimeMillis返回的是从1970.1.1 UTC ...
- zzzphp V1.6.0 按照功能分析漏洞
0 基础支撑功能 0.1 路由功能 0.2 模版解析 * zzzphp V1.6.0 的代码执行漏洞,模版解析功能的问题 程序解析模版时,将模版中的部分内容匹配出来直接传递给了eval,且没有经过过滤 ...
- Tomcat基础知识
介绍Tomcat之前先介绍下Java相关的知识. 各常见组件: 1.服务器(server):Tomcat的一个实例,通常一个JVM只能包含一个Tomcat实例:因此,一台物理服务器上可以在启动多个JV ...
- 谷歌插件学习笔记:把iframe干掉……
好久不写博客了,感觉自己变得越来越懒了,是没有时间吗?不是,是自己变得越来越懒了,好多东西不愿意去总结了,可能也是学的不精总结不出来什么玩意儿.不过,一切都是借口.还是坚持学习,坚持写博客吧,虽然写的 ...
- Reborn & Recover
高考总算是结束了 而我们的旅程却还在继续 现在姑且是个ACMer(暂定) 而我已经将近一年没写代码了 接下来是全新的开始 全新的学校 全新的未来 总之从现在开始 试着努力看看吧!
- FTP服务器安装配置
1.安装:yum install vsftpd -y 2.修改配置文件:cd /etc/vsftpd/ cat vsftpd.conf | grep -Ev '^$|^#' listen_port= ...