Odoo是一种开源的企业资源规划(ERP)软件,它提供了一套完整的管理工具,包括销售、采购、库存、财务、人力资源等模块。在Odoo中,可以通过条件来使记录列表成为只读状态。下面是实现这一功能的步骤:
{'readonly': True}
目前有超过1.2万个APP image.png 2.以客户为中心 image.png 3.创建客户 标准的创建客户功能相对简单,支持定制开发 image.png image.png 4.客户列表...客户列表采用卡片式展示 image.png 5.创建商机 image.png 6.商机各个阶段(支持拖动) image.png 7.安排活动 活动安排是基于商机,销售计划是基于客户 image.png...8.记录备注 记录备注能添加关注者,不过只是发送邮件 image.png 9.摘要 摘要只是客户资料其中一项内容,没有单独做成标签 image.png 10.第三方应用(微信集成) image.png...11.微信模块 Odoo 的微信模块,提供了对微信公众号和企业号(企业微信)的接入与管理,实现了微信消息与Odoo聊天的无缝对接: 用户、组同步管理 用户消息对接chat 一对一实时聊天 高效便捷的推送群组通知消息...的工作流系统提供: 记录(文档)随时间的演变的描述 基于各种灵活条件的自动操作 管理公司角色和验证步骤 管理对象之间的交互 通过其生命周期形成可视化的文档流表示 image.png image.png
实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图,列表网仓记录详情页面(form视图),编辑内联视图中的货主记录,为货主和仓库字段搜索,添加过滤条件...,具体如下: 添加、编辑货主时,下拉列表中只展示选取和当网仓记录所属公司关联的货主,点击搜索更多,仅展示和当前网仓记录所属公司关联的货主 添加、编辑货主时,下拉列表中只展示选取和当网仓记录关联的仓库(到...> odoo> odoo> 添加过滤条件代码实现 修改视图,给视图添加context odoo> 修改ResPartner,重写模型name_search(编辑货主字段,弹出下拉列表时,会请求该模型函数),search_read(编辑货主字段
也代表记录集 设置上下文 Model.with_context([context][, **overrides]) -> records[源代码] 返回附加到扩展上下文的此记录集的新版本。..._context is {'key1': True, 'key2': True} 需要注意的是,上下文是和记录集绑定的,修改后的上下文并不会在其它记录集中共享 应用场景示例 用于action,为关联视图添加默认搜索...、过滤条件 视图定义 为设置action打开的tree列表视图,添加默认搜索,搜索条件为 state字段值等于True 条件 视图设计 odoo> 列表视图字段搜索添加查询过滤条件](odoo 为可编辑列表视图字段搜索添加查询过滤条件.md) 用于记录集,传递数据给模型方法 模型设计 #!
根据的类型对房地产进行分类是一种标准的业务需求,尤其是为了优化过滤。 一个房产可以有一个类型,但同一类型可以分配给多个房产。这得到了many2one概念的支持。...新增一条记录 修改odoo14/custom/estate/models/estate_property.py ,添加property_type_id #!...它表现为一个记录列表,意味着必须通过循环访问数据: for tax in my_test_object.tax_ids: print(tax.name) 记录列表即为众所周知的recordset...它们表现为记录列表,这意味着访问数据必须在循环中完成: for test in partner.test_ids: print(test.name) 注意 One2many 是一种虚拟的关系,必须在...odoo如何知道我们的报价与哪个房产相关?这就是使用odoo框架的一部分魔力:有时候事情是隐式定义的。
选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图("Offers" Tab页)的列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...,点击确认按钮,执行的操作''' #### 根据需要对获取的数据做相应处理 # ......self).default_get(fields_list) record_ids = self.env.context.get('active_ids') # 获取当前记录ID列表(...当前记录详情页所属记录ID列表) # self.env.context.get('active_id') # 获取当前记录ID property = self.env['estate.property...可选 modelMethod 点击列表复选框时,需要调用的模型方法,通过该方法收集列表勾选记录的数据。可选。
1、子查询,查询出的数据随便起一个别名,然后根据分组和条件查询出的数据,作为一个具有一列的一个表,然后外面的查询查询这个数据表的这一列的总数,即可。
odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中的记录来定义的。常见的模式为 菜单> action > 视图。为了访问记录,用户在几个菜单级中导航。...最深层是触发打开记录列表的action。 操作(Actions) 参考: 主题相关文档可以查看 Actions....本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action的好例子。关注XML 数据文件结构,因为你在后续的练习中会用到。 Odoo有许多微调方式,但通常第一步是确保: 某些字段有默认值 某些字段只读 当记录重复时,某些字段不能被拷贝 在我们的房产业务案例中,我们希望:: 售价只读(往后将自动填充) 当记录重复时,可用日期和售价不能被拷贝...查找一些合适的属性 (查看字段) 来: 设置售价为只读 阻止复制可用日期和售价 修改 odoo14\custom\estate\models\estate_property.py 中EstateProperty
中如何区分用户类型以及如何做权限控制的呢?...(Record Rules,记录级别) 记录规则是允许某个操作必须满足的条件。...规则与组的关联关系存在rule_group_rel表中 global 根据“groups”计算,提供了对规则是否全局状态的轻松访问。...可以简单的理解为指定过滤条件,用户只能访问符合本过滤条件的记录,配置为 [(1,'=',1)]则表示匹配所有记录。...company_ids 当前用户可以访问的公司ID列表(非记录集)。 查看Security rules 获取更多详细信息。
attachments: file_name_suffix = attachment.name.split('.')[-1] # 针对文本文件,暂时不实现数据存储,仅演示如何处理文本文件...js_class="estate_customer_tree" limit="15">,其中estate_customer_tree为下文javascript中定义的组件,实现添加自定义按钮;limit 设置列表视图每页最大显示记录数...> estate_customer_tree 组件定义 js实现 为列表视图添加自定义上传数据文件按钮 odoo14\custom\estate\static\src\js\estate_customer_tree_upload.js...binaryForm.submit(); } }, _onFileUploaded: function () { // 创建附件后的回调,根据附件...estate.CustomerHiddenUploadForm为在对应按钮视图模板中定义的隐藏表单模版名称 替换EstateCustomerListView.buttons为对应按钮视图模板中定义的按钮模版名称 根据需要替换
但是如何使它可用? 您可以使用多种解决方案,例如 Swarm、Kubernetes……从一定数量的应用程序和/或基础设施中,Kubernetes在高可用性和弹性方面往往占主导地位。...这就是为什么本文的目的是向您解释如何从使用 Docker Compose 的环境迁移到 Kubernetes。...- name: nginx image: nginx:1.7.9 ports: - containerPort: 80 所以问题是:我们如何使用当前的...websecure" - "traefik.http.routers.pgadmin.tls.certresolver=myresolver" 通过kompose迁移后, kompose convert成为一个易于部署的...Kubernetes 清单列表。
这个指南讲解了如何在 CentOS 8 上一个 Python 虚拟机环境中从源码安装 Odoo 13。我们将会从 Github 上编译 Odoo 源码并且配置 Nginx 作为反向代理服务器。...一、前提条件 你需要以 root 或者其他有 sudo 权限的用户身份登录,以便完成整个安装过程。...,并且重启 Odoo 服务器,使修改生效: sudo systemctl restart odoo13 十一、启用多进程 默认情况下,Odoo 工作在多线程模式。...服务,使修改生效: sudo systemctl restart odoo13 余下的系统资源将会被分配给系统其他服务使用。...我们展示了如何在生产环境中如何启用多进程以及优化 Odoo。
参数: comodel_name (str) – 目标模型的名称 inverse_name (str) – 目标模型中反向Many2one字段名称,根据该字段反向查询记录 domain – 用于设置客户端候选值的条件...参数: fnames–已修改字段的列表,None表示所有字段 ids–修改的记录ID的列表,None表示所有记录 警告 执行原始SQL绕过ORM,从而绕过Odoo安全规则。...(6, 0, ids) 根据ids列表,替换所有已存在记录, 等价于使用命令(5, 0, 0),随后对ids中的每个id使用命令(4, id, 0)。...# (6, 0, ids) # 根据ids列表,替换所有已存在记录, 等价于使用命令(5, 0, 0),随后对ids中的每个id使用命令(4, id, 0)。...# (6, 0, ids) # 根据ids列表,替换所有已存在记录, 等价于使用命令(5, 0, 0),随后对ids中的每个id使用命令(4, id, 0)。
有时,一个字段的值是根据其他字段的值确定的,有时我们希望帮助用户输入数据。 “Computed Fields And Onchanges”的概念支持这些情况。...在self 上迭代,会一个接一个的生成记录,其中每个记录本身是长度为1的集合。可以使用.(比如 record.name)访问单条记录的字段或者给字段赋值。...Price"> 重启服务,验证效果(参考本章目标中第一个动画连接) Inverse函数 你可能已经注意到,计算的字段默认总是只读的...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时的奔溃 在表单和列表视图中添加字段,正如本章目标中显示的第二个动画中的一样。...title': _("Warning"), 'message': ('This option is not supported for Authorize.net')}} 如何使用它们
这是--db filter的目的之一:它指定如何根据所请求的主机名(域)选择数据库。该值是一个正则表达式,可能包括动态注入的主机名(%h)或访问系统所通过的第一个子域(%d)。 ...多处理是通过配置非零数量的工作进程来实现的,工作进程的数量应该基于机器中的核心数量(可能有一些空间供cron工作进程使用,这取决于预测的cron工作量) 可以根据硬件配置配置工作进程限制,以避免资源耗尽...这样做时,您需要将更多的http头转发给Odoo,并在Odoo配置中激活代理模式,让Odoo读取这些头。... 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 8 5.数据库日志记录配置...;是否允许显示数据库列表 list_db = True ;是否将log写入db的ir_logging表 log_db = False ;设置模块的日志级别,可以是一组module:log_level
构建列表视图很简单,因为只需要字段列表。表单视图也是如此:尽管使用了一些标记,如或,但在设计方面几乎没有什么可做的。...Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中的记录以卡片状结构显示。...看板视图是标准的Odoo视图(如表单和列表视图),但其结构更灵活。事实上,每张卡片的结构是表单元素(包括基本HTML)和QWeb的混合。...练习--制作一个最小的看版视图 根据上述提供的简单例子,为房产创建一个最小化的看板视图。唯一展示的字段为name....如果我们想有条件的展示元素,可以使用 t-if指令(查看 Conditionals).
Odoo是世界上最受欢迎的一体化商业软件,包含CRM,网站,电子商务,计费,会计,制造,仓库,项目管理,库存等多种商业应用程序,无缝地 集成。 根据所需的用例,有几种安装Odoo的方法。....conf 如果没有错误,您可以启用Odoo服务在启动时自动启动: sudo systemctl enable odoo11 如果你想查看Odoo服务记录的消息,你可以使用下面的命令: sudo journalctl...如果您想使用Nginx作为SSL终止代理,请确保您符合以下先决条件: 您有一个指向您的公共服务器IP的域名。...默认的Odoo Web服务器通过HTTP提供流量。为了使我们的Odoo部署最安全,我们将Nginx配置为一个SSL终止代理,它将通过HTTPS提供流量。...让我们根据工作人员的人数来检查RAM内存消耗。
本指南介绍了如何配置Odoo 11生产集群,其中Odoo服务器和PostgreSQL数据库托管在单独的Linode上,并通过数据库主从复制来提高性能和可靠性。...配置日志 本指南中的示例使用单独的文件来记录Odoo活动: sudo mkdir /var/log/odoo 安装Odoo 11 安装git: sudo apt install...在浏览器中,您应该看到可用应用程序列表,表明数据库创建成功: 第一次创建数据库时,Odoo可能需要几分钟才能加载其所有附加组件。在此过程中不要重新加载页面。...启用Odoo服务 使odoo-server服务在重新启动时自动启动: sudo systemctl enable odoo-server 从Linode Manager重新启动您的Linode。...Odoo用户文档 Odoo开发人员文档 PostgreSQL 9.6文档 使用LetsEncrypt安装SSL证书 如何设置tinc,一个点对点V** 使用Terraform提供Linode环境
列表视图,也叫树(tree)视图, 以表格的形式显示记录。 视图根元素为。...表单用于创建和编辑单条件记录,其根元素为 ,由高层框架元素(group和notebook)和交互元素 (按钮和字段): ...在odoo中,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含字段名、运算符和值的三元组。...如果指定字段满足作用于值的运算符的条件,则记录满足条件。...AND组合在一起,这意味着记录匹配一个domain,需要满足domain中的每个条件。
一、安装前提条件 以 sudo 用户身份登录系统,并且升级 APT 缓存: sudo apt update 安装 Git,Pip,Node.js 以及所有构建 Odoo 依赖需要用到的工具: sudo...mkdir /opt/odoo13/odoo-custom-addons 稍后,我们将会将该目录添加到addons_path参数中。这个参数定义了 Odoo 用来搜索模块的一个列表。...,并且重启 Odoo 服务器,使修改生效: sudo systemctl restart odoo13 十、启用多进程 默认情况下,Odoo 工作在多线程模式。...服务,使修改生效: sudo systemctl restart odoo13 余下的系统资源将会被分配给系统其他服务使用。...我们展示了如何在生产环境中如何启用多进程以及优化 Odoo。
部署后,Odoo允许管理员安装任何模块组合,并根据业务需求配置/定制它,范围从小型商店到企业级公司。 本教程介绍了如何使用Git源代码在一小时内安装和配置Odoo,以便于升级,维护和自定义。...中)并根据您的需要进行修改。...请参阅Odoo存储库以获取最新的兼容版本列表: sudo wget https://downloads.wkhtmltopdf.org/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64...包括日志文件的路径,并添加一个新行:logfile = /var/log/odoo/odoo-server.log。如果您打算仅使用journald用于记录,则可以跳过此行。...对于正常安装,您可以跳过此行,并且此Odoo实例将默认连接到端口8069。 注意 如配置日志部分中所述,在Ubuntu 16.04中有很多Odoo日志记录选项。
领取专属 10元无门槛券
手把手带您无忧上云