odoo14开发
记录学习路上的点点滴滴
由于工作变动,从2023年起将逐渐减少文章更新
红星编程实验室
红星编程实验室(Лаборатория программирования Красной Звезды),致力于技术探索、总结与共享,为每一位新生开发者铺设道路。
主作者2022年毕业于山西农业大学信息学院(现名:晋中信息学院),以个人自主学习与探索研究为主。博客目前发布有关数据库、odoo、python基础&高阶、前端(Html+Css+Js)和git相关方向的博客文章。网安、GitHub等相关内容不会在CSDN发布。
光荣在于平淡,艰巨在于漫长。
展开
-
odoo14 | odoo中domain的复杂写法
本片文章主要讲述domain中复杂业务需求的逻辑构思,关于doamin的使用位置会在另一篇文章中体现。原创 2022-11-22 00:47:04 · 625 阅读 · 1 评论 -
odoo14 | tree视图自定义宽度显示
tree视图自定义宽度显示原创 2022-11-18 21:45:00 · 865 阅读 · 0 评论 -
odoo14 | 报错:ValueError: Wrong value for ir.ui.view.type: ‘data‘
odoo14报错:ValueError: Wrong value for ir.ui.view.type: 'data'原创 2022-11-18 17:02:16 · 584 阅读 · 0 评论 -
odoo14 | 报错:TypeError: Cannot read properties of undefined (reading ‘type‘)
首先该报错出现在基础表有但点击视图菜单的时候弹出的,经过排查发现,是在粘贴来进行修改的action中忘记修改模型名导致的与原模型的action视图冲突的情况。大半夜加班,脑力不济的情况下为了提高速度,直接复制了其他模块的xml代码进行修改以达到缩减时间的目的,结果出现了以下这种报错。只需要将其中的内容修改为正确的内容即可,与关键词错误和代码结构错误无关。原创 2022-10-30 00:45:54 · 2678 阅读 · 1 评论 -
odoo14 | search使用中报错:string index out of range
就是search里面的那最里面的小括号的问题,加上就好了。实际上就是少了一层小括号导致参数异常引起的报错。今天在使用search的时候又出现了一次。原创 2022-10-09 22:38:06 · 636 阅读 · 0 评论 -
odoo14 | 表单page默认打开顺序
升级/安装模块,进入对应的表单页面即可看到默认展开的是第二个page页。一般来说,打开一个form表单是默认展现第一个page标签页的。如果想要让第二个标签页默认展示怎么办。使用这个参数在page标签。原创 2022-09-28 19:00:00 · 307 阅读 · 0 评论 -
odoo14 | tree视图增加动态按钮并打开向导视图显示获取数据(无JS辅助实现)
tree视图增加动态按钮并打开向导视图显示获取数据(无JS辅助实现)原创 2022-09-21 22:45:00 · 1528 阅读 · 0 评论 -
odoo14 | widget将勾选块变成开关按钮
在odoo中将布尔勾选框变成一个随时可以开关的按钮。升级模块即可看到效果,该按钮的操作不受只读影响。只需要在xml中对应的字段后面加上小组件。原创 2022-09-13 15:21:27 · 530 阅读 · 2 评论 -
odoo14 | odoo14的国家/省/市区县联动,不自写模块仅通过odoo来实现的方法
安装后会自动安装开票模块,因为这个模块就是开票模块的子功能,所以现在会出现开票模块的菜单,为了不影响系统使用,现在要对这个菜单进行屏蔽。但这一波操作后,会发现市/区/县字段是没有预设值的,所以现在就需要来安装下面这个模块。在需要加入地址的模型中自定义自己的字段,下面展示我这里自定义的字段。在视图中增加这一段xml代码,这是最简单的屏蔽顶级菜单的方法。视图可以按上面的图所展示的样式写。这里需要介绍几个模型。...原创 2022-08-30 15:44:49 · 633 阅读 · 0 评论 -
odoo14 | csv文件中访问权限写好后只能最高权限查看其他权限无法进入菜单
实际在模块安装后,只有高级的权限组生效了,经过学习和排查发现,csv文件中的id重复了,三个访问权限用了同一个id,然后就出现了只能最高级权限才能访问模型的情况。1.当以初级权限访问模块时,该模型菜单隐藏,若从中级访问后,权限变为初级并页面刷新则出现访问错误弹窗,odoo识别仅中级,即csv文件中最后一个访问权限生效。应该是由于implied_ids关键字将权限继承的原因,虽然访问权限在csv中没有获得,却在xml文件那边继承了访问权限。在csv文件中分别写了三个组,分为初级、中级和高级三个级别的权限。原创 2022-08-25 12:03:53 · 402 阅读 · 0 评论 -
odoo14 | odoo报错:TypeError: Cannot read properties of undefined (reading ‘offsetParent‘)已解决
出现这一问题的主要原因是因为我的视图文件中有出现id冲突的情况,如下图所示。今天出现了一个正常开发时因为粘贴代码没有改全而出现的视图id冲突的bug。当修改id保持全项目唯一后,升级模块即可解决。原创 2022-08-24 10:42:20 · 1523 阅读 · 0 评论 -
odoo14 | odoo脚手架使用及问题解决
odoo 脚手架可以极大缩短模块开发过程中的前期必要组成的创建工作,odoo脚本将为我们自动生成标准的待开发模型按如上指令生成模块,需注意用法,如下图解析在使用脚手架指令时会有几个注意。原创 2022-08-23 17:34:33 · 832 阅读 · 0 评论 -
odoo14 | odoo报错 Uncaught TypeError: Cannot read properties of null (reading ‘1‘)已解决
它报错说js可能确实了什么东西,实际上和浏览器、源码、框架和pycharm等开发工具全部都没有任何关系,主要是由于谷歌的chrome-extension(挂载插件)有关系,也就是指的我右上角的网页翻译油猴插件惹的祸。我安装的这个油猴插件的报错仅会在odoo的模块安装和数据库管理和登录界面报错,进入模块内部则不会报错,可能根据不同的插件出现的效果和报错内容不同,但都会出现chrome-extension报错。目前我在使用的这几个好用的插件里面,只碰到这一个插件会影响odoo的正常开发。原创 2022-08-23 14:04:14 · 4797 阅读 · 0 评论 -
odoo14 | name_search方法的使用和效果
近期有一个新的需求,要求根据部门不同的选择,访问人只能选择该部门下的员工,不能选择其他部门的员工,如下图所示。一般我们在开发时,many2one字段都是默认出现全部的记录,像下图所示。原创 2022-08-19 14:14:55 · 803 阅读 · 11 评论 -
odoo14 | 升级报错: ‘Char‘ object has no attribute ‘ondelete‘
对于这一问题,如果在修改字段类型并升级前,这一字段从未进行的操作、或输入内容,即使是创建过一些单据,修改或存储了其他的字段的内容,唯独这个字段的内容没有进行过任何操作,即使存储了很多单据,也不会产生这个报错,但只要有一条记录中操作过这一字段,那么在修改类型并升级后,也会产生这个报错,并且不可逆,即使将这一字段的类型修改回去,删掉了哪一个单据,也不可逆,必须卸载重装或数据库层面修改。就是因为这个代码,导致的升级时出现的报错,但是如何找出有问题的到底是哪一个字段?再次重启服务,升级这个模块让问题字段打印。...原创 2022-08-09 16:11:44 · 667 阅读 · 0 评论 -
odoo14 | 附件上传功能及实际使用
上传附件后,其他用户在查看这一记录时,就能通过右上角的上传附件按钮进去查看该记录所附带的附件内容(需要下载到本地查看)了。这是odoo14的固定写法,两个配套的方法,只需修改代码中中文提示的部分。但需要注意附件上传按钮只有必填项填完后才能点击进去进行上传附件动作。有时候,有的需求会要求在表单中增加一个附件上传的要求,就像下面一样。首先先添加一个新的字段到模型中(一字不差的照搬这个字段的所有内容)这个其实odoo官方已经写了这个功能,里面可以上传附件也可以。.........原创 2022-07-29 15:57:46 · 1227 阅读 · 0 评论 -
odoo14 | 关于状态栏statusbar关键词使用后显示异常及解决方法
今天遇到一个有意思的bug,我跟着odoo14开发手册敲代码,由于教材的教学结构是按功能写的,前后代码描述上有出入,发生了一些冲突,今天遇到的则是根据state字段出状态栏的无报错冲突bug原创 2022-07-10 23:38:17 · 447 阅读 · 0 评论 -
odoo14 | 序列号的生成以及格式
odoo14开发的序列号的生成以及格式原创 2022-07-04 22:59:11 · 715 阅读 · 2 评论 -
odoo14 | 隐藏框架原生模块hr模块的顶部菜单menuitem继承隐藏
二开model时如何在不修改源码的基础上,对原模型自带的菜单按钮进行隐藏原创 2022-07-04 22:04:28 · 460 阅读 · 0 评论 -
odoo14 | 将工作流按钮简单增加一个简单的确认弹窗
今天工作时,自己觉得直接点击审核按钮的话会不会让用户手残点错按钮导致本不应该通过审核的按钮通过审核进而产生悲剧,所以现在有了一个新的需求:如何为审核按钮增加一个确认弹窗通过神奇的互联网一番搜索odoo点击按钮弹出确认操作提示框__鹿哥的博客-CSDN博客_odoo 弹框odoo按钮实现点击弹出提示确认操作并显示提示内容,点击确认执行按钮操作,点击取消不执行按钮操作解决方式:在button标签中写上confirm属性如下:<button name="administrator_back" s原创 2022-05-07 17:07:42 · 909 阅读 · 2 评论 -
odoo14 | 代码从仓库拉取到本地配置后主页应用刷新不出来解决方案
代码从本地拉取下来到本地后,在应用中刷新模块却发现模块不存在?原创 2022-03-24 14:20:53 · 362 阅读 · 0 评论 -
odoo14 | 报错:odoo14更换环境后出现的错误报错的报错
遇到上面的问题,结合两个地方看,一个是运行日志一个是事件记录,当这两个地方分别有以上报错时,很可能你也遇到启动“幽灵”报错了,这个报错信息是误导人的,要去运行配置中去重新配置新的启动项,实际需要解决的问题是启动项的解释器环境爆红。重新点击加号配置新的环境即可...原创 2022-03-24 12:24:01 · 421 阅读 · 0 评论 -
odoo14 | 视图报错:AssertionError: Element odoo has extra content: data,line 3
视图报错:AssertionError: Element odoo has extra content: data,line 3遇到这种问题可能并不是你的视图逻辑出现问题,可能是你的语法有问题,要自查一下自己的标签关键字是否拼写正确比如:<record><field><form><tree><kanban><pivot>.........这些标签关键字...原创 2022-03-17 17:50:48 · 1251 阅读 · 0 评论 -
odoo14 | 模块权限在清单加载顺序异常致group_id丢失bug解析
快速解答:将清单文件中的权限xml文件置于权限csv文件上方,重新安装/升级模块即可。前言:最近因为一个项目,需要从odoo14版本更替到odoo12,但由于不熟悉odoo数据库的特性,错误判断了原odoo14的数据库黄色叹号的库是坏库,结果把odoo14的老库删掉了,不过也因此我遇到了这个因细节导致的“幽灵”bug——模块权限在清单加载顺序异常致group_id丢失bug。解析:是否遇到以下报错信息group_id丢失bug遇到这个bug可能并不是因为你的权限书写出...原创 2022-03-17 15:09:20 · 697 阅读 · 0 评论 -
odoo14 | 视图菜单(menuitem)的继承及相关bug
上图的效果就是想要实现的效果下图是请假模块的结构新增模型leave_type.py,新增视图leave_type_view.xml学习过odoo的视图及模型的逻辑和语法,应该可以独立编写出满足需求的代码逻辑,这里重点讲坑点1、新视图背后的模型,一定要在model/__init__.py中注册from . import leave_type2、开启了权限文件后,在csv文件中要注册权限access_leave_type,leave.type,model_leave_t...原创 2022-03-09 15:48:59 · 1005 阅读 · 0 评论 -
ODOO14|报错:KeyError: ‘ir.action.act_window‘
学习书籍:《odoo快速入门与实战》96页bugs_stage.xml代码报错:KeyError: 'ir.action.act_window'原创 2022-01-07 11:30:56 · 613 阅读 · 0 评论 -
odoo14|报错信息:odoo-bin: error: The config file ‘E:\pgproject\odoo14\odoo.conf‘ selected with.....
报错根源在于“编辑配置”出现了问题原创 2021-12-29 11:46:04 · 1415 阅读 · 0 评论 -
odoo14 | 导入库和导出库
不管是odoo12还是odoo14,在导入导出库,可以通过数据库管理器来管理假设odoo运行在127.0.0.1:8069,则访问http://127.0.0.1:8069/web/database/manager可以看到下面画面点击Duplicate进行备份点击Continue,导出库,最好不要使用迅雷,使用浏览器原生下载器下载下载到本地的是一个Zip的压缩包,不要解压点击Restore Database进行数据库的导入,自定义新的名字将Zip压缩包进行导入,进入p..原创 2022-03-08 16:43:51 · 1037 阅读 · 0 评论 -
odoo14 | 视图报错:没有找到模型:xxx
查看报错信息,发现没有找到模型,这不一定是你视图写的有问题,也可能不是你的模型写的有问题,兴许你可能没有在模型初始化文件中注册你新建的模型文件。现在加上导包后,再返回odoo升级就可以调试视图报错了...原创 2022-03-09 12:34:30 · 704 阅读 · 0 评论 -
odoo14 | Internal Server Error问题
页面变成这样有目前已知以下两种情况导致1、odoo不同版本切换后仍然使用同一浏览器本地路由不同版本的odoo切换后,不管是否已经更换端口,要清理浏览器残存的缓存,否则会出现session冲突问题,chrome快捷键ctrl+shift+delete,快速清理缓存2、odoo.conf文件中addons_path路径有问题如下图所示将这一不存在的文件的路径删掉后重启服务,然后再登录odoo即可。...原创 2022-03-08 16:52:59 · 1879 阅读 · 0 评论