场景描述: 开发过程中,有时候我们需要去除odoo自带的一些样式, 比如,form视图,要集成自定义的界面时,就希望把顶部的服务动作 和 分页按钮 隐藏掉. 处理方式: 分两种情况: 1. 保留顶部区域,只隐藏“服务器动作”& “分页” 2. 顶部区域全部隐藏 待补充…
odoo开发笔记 -- 搜索视图继承扩展…
odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_report" class="btn btm-sm button oe_highlight" style="font-size:12px;">确定</div> <button special="cancel" string=…
odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件…
odoo列表tree视图 拖拽排序 实现效果: 实现方式: 模型中定义字段: class CusYourModel(models.Model): """ 你的模型 """ _name = 'xxxxxxx' _order = "sequence, id" sequence = fields.Integer(string='Sequence') 前端view视图增加相应字段: <tree string="xxxx…
注意点: view视图文件中的搜索视图要放在action视图的前边. 在action视图中,要写search_view_id, 还有context, search_default_group_by_字段名. 搜索视图中,group by的时候,filter 时,name="group_by_字段名", 这块的group_by前缀不能省略.…
odoo在日常使用中,常会有这样的需要,比如,某个列表按照 日 .周.月.年来过滤搜索. 效果: 那么如何实现呢,如下是一段不同写法的样例代码,提供参考. <!--某模型 搜索视图--> <record id="view_xxxxx_search" model="ir.ui.view"> <field name="name">XXXXXXXX search</field> <field nam…
场景描述: 在添加自定义服务器动作 “复制全部”后发现直接创建了新的记录,并且直接进入到form保存完的状态. 如何解决: if yourself_obj_copy: return { 'type': 'ir.actions.act_window', 'view_type': 'form', 'view_mode': 'form', 'res_model': '你的模块名.模型名', 'res_id': yourself_obj_copy.id, 'context': self.env.cont…
上一篇内容:如何快速在odoo中创建自己的菜单 前言 上面的内容我们已经学会了如何去创建odoo的菜单,下面我们要学习的是odoo的基础视图tree视图,我们的目标是实现型号管理的列表页面 创建model 之前我们已经学了简单的创建了一个菜单,我们也知道了视图的渲染是离不开model的支持的,我们现在的目标是在型号管理中创建tree视图,那么我们就要先创建型号管理对应的model 电商中都有SPU和SKU的概念,这里我们就以手机为举例,那么一个手机型号就是一个简单的SPU,对应手机的不同的颜色和…
场景描述: 解决方式: 网络搜索,vnsoft_form_hide_edit 找到了这个odoo8的模块, odoo10语法和视图界面有新的变化,所以需要修改一些地方,感兴趣的小伙伴可以对比下两个代码的不同. odoo10: 注意:该js代码是全局生效的. odoo.define('vnsoft_form_hide_edit', function (require) { "use strict"; var FormView = require('web.FormView'); Form…
实现效果参考: 1. 开发者模式 -- 设置 -- 工作流 -- 编辑 -- 添加项目 2. 会计模块 -- 管理 -- 付款条款 -- 编辑/创建 实现方式,很简单.只要视图界面写个一对多关联字段就可以.不需要加任何属性,odoo本身已经封装了该效果. 只需要 根据实际需求,定制弹出来的新窗口视图样式就行.…
待补充: 参考:工作单跳转到通关清单 --form(一对一) 工作单跳转到报关单列表 --tree (一对多)…
看一下partner这个表, 客户和供应商,都用这个表,那怎么区分呢: 供应商: 客户 注意这两个里面用domain来进行区分:   <field name="domain">[('s_category_id','!=',False)]</field> <field name="domain">[('c_category_id','!=',False)]</field>   表相同,出来的结果不同.当然,这两个doma…
按钮传递上下文: <xpath expr="//div[@name='dec_work_sheet_id']" position="after"> <div class="col-lg-5 oe_button_box" name="button_box" style="width: 400px;"> <button name="%(cus_center_jiali_e…
除了写序列优先绑定之外, 窗口引用的视图id也要绑定,否则页面加载的时候,可能不是自己需要显示的视图.例如:<field name="view_id" ref="cus_111_tree"/> <record id="action_customs_×××××××" model="ir.actions.act_window"> <field name="name">测试&l…
form视图自定义的两种场景: 1. 自己重写form视图样式文件 2. form视图,嵌入第三方的系统.…
Backend debranding 找到如下文件,将相关灰色代码注释掉. <?xml version="1.0" encoding="UTF-8"?> <templates> <t t-extend="mail.client_action"> <t t-jquery=".o_mail_request_permission" t-operation="inner"&…
按钮动作跳转到其他列表视图 按照默认指定的条件搜索显示. 效果: 实现方式:…
如图: 对应后台views视图,class可选内容值: class="oe_highlight" class="btn-xs" class="btn-primary btn-xs" 按钮样例:只要改变class="oe_highlight"的内容,前端按钮样式就会随着改变. <header> <button name="xxxxxxxx_highlight_btn" string=&quo…
参考: http://www.jeffzhang.cn/Odoo-Notes-2/ http://blog.csdn.net/zhangfeng1133/article/details/46935175…
转两篇关于权限的2篇文章,加深这方面的认识.注:后面附有原作者地址,希望不构成侵权. https://www.cnblogs.com/crazyguo/p/6999408.html 第一篇:http://www.cnblogs.com/dancesir/p/6994030.html Odoo的权限的核心是权限组(res_groups).对每个权限组,可以设置权限组的菜单表示,对象表示,记录规则表示,字段表示. 1.菜单/对象级别 设置哪些人可以访问哪些菜单/对象,对象的访问权限包括创建.读.写.…
场景描述: 在已启动开发的模块中,odoo顶部一级菜单只有一个“会员管理”,需求是:在同一级顶部菜单,增加新菜单“产品管理”.举例如图:       处理方式: 按照odoo的机制,实现这种效果,可以通过多种方式: 1. 新增加一个独立模块,用作 “产品管理” 2. 共用一个模块,开发者模式下,通过对菜单进行配置,实现效果.(弊端:程序升级后,需要重新配置) 3. 共用一个模块,通过代码实现.(这里介绍的就是这种,基于odoo10) 很简单,只需要在模块代码-->views --> menu.…
模块名称 技术名称 作者 电子发票管理 account OpenERP SA 会计与财务 account_accountant OpenERP SA 合同管理 account_analytic_analysis Camptocamp / Odoo 辅助核算默认值 account_analytic_default OpenERP SA 多重辅助核算方案 account_analytic_plans OpenERP SA 英国会计系统 account_anglo_saxon OpenERP SA,…
odoo有着强大的消息记录.通知机制: 实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改, 假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的记录相关用户的操作, 提供一定的安全审计功能? 别担心,odoo已经为我们考虑到了!!! 下面我们就来介绍下, 首先,先保证整体基本的消息记录功能,两个地方需要修改,模型和form视图 在你需要消息记录的模型申明中,添加如下红色部分代码: class TestModle(models.Model):…
附件上传基本原理实现,可以参考这篇: https://www.cnblogs.com/ljwTiey/p/7348291.html http://blog.csdn.net/wangnan537/article/details/41903159 首先我们看一下odoo界面默认的附件功能,有木有感觉不是很友好!囧 :) 下面给小伙伴们介绍另一种odoo自带的附件管理方式! 首先,在你的模型中增加如下定义: ##############################################…
       Odoo的市场定位是SME(中小型企业),这个市场的ERP产品,多如牛毛,产品各具特色.不过,Odoo的自动化处理机制,可以睥睨天下,无人能及.包括一些大型国产软件,如用友.金蝶也不具备如此强大的自动化业务处理功能.Odoo的业务自动化机制,可以非常容易地扩充ERP系统功能,非常容易地让业务工作自动化. Odoo自动化动作 如下图,增加一个自动化动作,“自动删除过期的SaaS DB”.系统会按定义好的条件筛选出符合条件的数据记录(业务对象),自动执行定义好的Server Actio…
场景描述: 最近在做项目的过程中,需要需要将odoo应用集成到其他系统中, 在对方的系统中点击我们的应用,打开对应系统,但是界面不做跳转,在当前页面打开,并且浏览器地址栏只显示IP+应用名,不让显示odoo中的action_id及menu_id等其他信息! 如何实现? 我们先来看下,odoo程序我们在浏览器访问时,通常的地址栏信息:IP+端口/web.........各种id http://192.168.1.188:8069/web#min=1&limit=80&view_type=li…
python中一切皆对象! odoo基于python开发,那么odoo中也可以理解成一切皆对象. 我们在python中定义类的时候,一般会用到self,用来表示当前对象自己. 那么odoo中的self除了python语法中,自带的用法,还有哪些特殊的用法呢? 一:self是什么 目前新版的Odoo中使用到的self,是对  游标cr.用户ID.模型.上下文.记录集.缓存  的封装. 我们可以通过 self.XX 获取到这些封装的东西,比如:self.cr.self.uid. 二:通过直接设置属性…
(1) odoo视图字段,如果是readonly,默认该数据是不会往后台传递的,因此,保存数据的时候,该字段的数据是不会存到数据库中的.(待确认,字段中增加默认值,保存) (2)视图界面,注释的时候,一般情况,饿哦们认为注释的代码,启动服务时,就不会被解释:其实不是,当视图中没有涉及变量的action视图ID引用指向的时候,这种情况下,确实没有影响:但是,如果被注释的该段代码,包含了引用另一个窗口视图的ID,即使注释掉,当你更新升级模块的时候,还会加载,出现视图外部extend id找不到的异常…
可能的原因: 排查顺序: 1.id在视图中的加载顺序问题. 可能是:__manifest__.py文件,view文件先后加载顺序有问题:也可能是:xml 视图文件中,被引用的id出现在了引用id的下方(注意:odoo服务启动后,页面的加载顺序是从上到下). 2. 上次的代码中的id已经注册进了系统,这个时候解决方式,可以通过前台开发者模式,找到相应的引用视图ID,把它注释掉,再次升级. 3.  外部Id 相互引用 陷入相互引用,导致ID相互依赖,解决方式:方式1 单独扩展视图,扩展相互引用的视图…