47.Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(2)

Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(1)

定制odoo的最普通的原因就是指定到公司的附加信息。如果您正在运行一个保险公司,可能需要在销售订单上指定策略编号。如果你在物业管理部门工作,也许你想存储租约到期的日期。例如,我们将添加字段,来为公司更好地管理数据和流程。具体来说,我们将向销售订单头添加以下字段:
|
字段名 |
标签 |
字段类型 |
|
x_daterequired |
Date Required |
Date |
|
x_rush |
Rush Order |
Boolean |
Odoo中自定义的字段应该以x_作为前缀,这是为了避免自定义的字段与系统中已存在的字段冲突。
在开发者模式中,odoo允许用户添加自定义字段到模型中。在设置中找到模型菜单,看到组成当前系统的模型列表:

查看sale.order模型:

点击sale.order模型可以查看组成该模型的所有字段,该表单对应ir.model数据表:
在这里,可以检查字段的名称、字段类型以及是否为必需字段。某些字段也可被指定为只读字段。这些字段通常被odoo自动生成或计算。
注意,检查模型是学习odoo数据的结构以及它是如何组织的一个很好的方法。
在这里不是点击"创建"按钮(因为它表示创建一个新的模型,现在要做的是在现有的模型中添加需要的字段),点击编辑,在字段列表下点击"添加项目":

定义Date Required字段和Rush Order字段。然后点击保存
Odoo提供了一个类似XML的文本编辑器。打开销售订单表单,然后从调试菜单中选择"编辑表单视图":

然后界面会出现一张构成销售订单视图的真实的XML代码。可以复制粘贴现有字段,这样就不必输入所有特殊字符以及理解语法,该表单对应ir.ui.view模型:

行左右)。然后,直接在下面添加自定义的两个字段:

为操作简单,复制付款条款行的代码,并做相应的修改:

点击保存,并刷新浏览器重新查看该表单,可以看到自定义的字段:

除了有修改的表单和列表视图的能力,也可以在Odoo中自定义更适合组织需求的搜索。
在默认的搜索中,并不是所有的字段都可以作为检索对象,默认的系统中能检索的对象有:
比如表单中的付款条款字段。因此需要编辑搜索视图来达成要求。在开发者模式下,查看到"付款条款"字段为payment_term_id:

在销售订单列表下的调试菜单中,点击"编辑搜索视图":
出现当前的搜索视图:

找到继承视图字段,点击右边的按钮打开:
观察该表单的结构,发现代码中有很多<Field name=""/>样式的标签。这些字段定义了哪些搜索字段在列表搜索框中是可用的。
为了能搜到付款条款字段,只需要将该字段添加到代码中:
保存后刷新浏览器。在搜索框中搜索一个关键字,显示按付款条款搜索:

查看系统中现有的动作列表,并筛选出销售订单的动作:

创建一个自定义的紧急订单动作,该动作允许我们创建一个菜单,以轻松的接收到紧急菜单。这个菜单将很有用,可以根据操作节省大量的击键并提高可用性。
关于定制有一个方便的地方就是,可以经常使用现有的记录作为复制/粘贴的模板,然后简单地进行定制更改。这大大降低了键入错误的风险。
建议:每做一次改变就进行一次测试,这有助于缩小犯错。
复制领域值为[('state','not in',('draft','sent','cancel'))]的表单,然后对其进行修改:

领域值字段中,添加一个条件,使x_rush字段的值为true。x_rush就是前面自定义的字段,将它放在表单中:

在定制odoo时,不可避免地需要创建一些新的菜单创建的视图或也许可以用不同的方式过滤或限制一个视图的其他动作。创建新菜单并将它们绑定到自定义操作的功能能够得到更好的用户体验,能更符合特定业务需求。
在开发者模式下,点击菜单项目:

对"销售订单"进行复制,并做更改:

保存。然后点击销售菜单查看,该菜单已经出现在该出现的位置了,因为当前没有订单被标记为紧急订单(即x_rush全为false),因此这里没有记录显示:

版权声明:本文为博主原创文章,未经博主允许不得转载
47.Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(2)的更多相关文章
- 46.Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(1)
查看Odoo产品分析系列--目录 在这一章节中,将学习到如何设置"开发者模式"以及备份数据库:然后学习如何添加字段到数据库并在表单和视图中显示. 1 了解odoo的构架 每一个应用 ...
- 48.Odoo产品分析 (五) – 定制板块(3) – 修改文件和报告(1)
查看Odoo产品分析系列--目录 不管ERP系统中的内置报表有多完善,大多数的公司仍然需要对文档和报表进行一些自定义的修改. 这一章节将介绍如何对报表的页眉和页脚做自定义修改:odoo框架如何组织报 ...
- 44.Odoo产品分析 (五) – 定制板块(1) – 管理odoo安装(1)
查看Odoo产品分析系列--目录 1 管理员的注意事项 在记录重要的配置细节时必须要小心,而且必须要有一个连续性的合适的.让系统能够安装备份并运行在一个可接受的时间内的计划. 1.1 制定实施策略 如 ...
- 13.Odoo产品分析 (二) – 商业板块(6) –采购(3)
接上一篇 查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (二) – 商业板块(6) –采购(2) 7. 仓库 仓库是在安装采购管理模块时出现的菜单.用于管理工厂库存,包括已经在手的货物 ...
- 42.Odoo产品分析 (四) – 工具板块(10) – 问卷(2)
查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (四) – 工具板块(10) – 问卷(1) 4 页面 即问卷,点开一项查看: 可以看出,网页就是问卷本身的子目录,其中指明了该目录包括哪 ...
- 38.Odoo产品分析 (四) – 工具板块(7) – 车队管理(2)
查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (四) – 工具板块(7) – 车队管理(1) 4 显示及状态说明 合同默认以列表视图显示: 当合约到期时,以红色显示,并显示状态为待关闭 ...
- 36.Odoo产品分析 (四) – 工具板块(6) – 午餐管理(2)
查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (四) – 工具板块(6) – 午餐管理(1) 4 查看订单 点击"之前的订单",可以看到刚才的订单信息: 点击右边的 ...
- 26.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(2)
查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (三) – 人力资源板块(6) – 工资表(1) 4. 缴纳登记册 在"缴纳登记册"菜单中可以查看所有的登记册并新建: ...
- 18.Odoo产品分析 (二) – 商业板块(10) – 电子商务(2)
查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (二) – 商业板块(10) – 电子商务(1) 6. 高级属性 除了我们到目前为止已经覆盖基本选项,Odoo在产品页面还提供了一些高级选项 ...
随机推荐
- angular2-7中的变化监测
最近做公司新项目用的angular7,中碰到了一个很头疼的问题在绑定对象中的数据改变时,页面视图没有跟新,需点击页面中的时间元素后才会更新.以前使用angularJs也经常碰到类似情况,这种时候一 ...
- Python爬虫入门教程 59-100 python爬虫高级技术之验证码篇5-极验证识别技术之二
图片比对 昨天的博客已经将图片存储到了本地,今天要做的第一件事情,就是需要在两张图片中进行比对,将图片缺口定位出来 缺口图片 完整图片 计算缺口坐标 对比两张图片的所有RBG像素点,得到不一样像素点的 ...
- 程序员如何让自己 Be Cloud Native - 配置篇
前言 这是<程序员如何让自己 Be Cloud Native>系列文章的第二篇,从第一篇的反馈来看,有些同学反馈十二要素太形式主义,不建议盲目跟从.作者认为任何理论和技术都需要有自己的观点 ...
- Github项目推荐-图神经网络(GNN)相关资源大列表
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | AI研习社 作者|Zonghan Wu 这是一个与图神经网络相关的资源集合.相关资源浏览下方 ...
- [AI开发]视频多目标跟踪高级版(离自动驾驶又‘近’了一点点)
**本文恐怕不是完全的标题党** 视频多目标跟踪需要解决的关键点是前后两帧之间的Target Association,这是最难的环节(没有之一).第T帧检测到M个目标,第T+S(S>=1)帧检测 ...
- Java核心技术第八章——泛型程序设计(1)
1.泛型程序设计 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用.例如:不希望为了聚集String和Integer对象分别设计不同的类.(个人觉得此处说的聚集译为:创建一个对象,属性可以为 ...
- window下的nginx的安装和使用
nginx功能之一可以启动一个本地服务器,通过配置server_name和root目录等来访问目标文件 一. 下载 http://nginx.org/en/download.html 下载后安装在你钟 ...
- asp.net core导出导入excel
使用NPOI导入导出excel,已经封装好Action可以直接调用 导出 效果图 使用方法 定义导出实体 class Student { public int Id { get; set; } pub ...
- 关于Bulk加载模式
Bulk加载模式是Informatica提供的一种高性能数据加载模式,它利用数据库底层机制,依靠调用数据库本身提供的Utility来进行数据的加载 该方式将绕过数据库的log记录,以此提高数据库加载性 ...
- Docker 导出&加载镜像
文章首发自个人网站:https://www.exception.site/docker/docker-save-load-image 本文中,您将学习 Docker 如何导出&加载镜像.当我们 ...