No.1免费开源ERP:Odoo自定义字段添加到配置页中的技术分享
文 / 开源智造(OSCG)· Odoo亚太金牌服务
在Odoo18之中,配置设定于管控各类系统配置层面发挥着关键之效用,使您能够对软件予以定制,以契合您特定的业务需求。尽管 Odoo 提供了一组强劲的默认配置选项,然而有时您或许需要增添自定义字段,从而能更好地与您的业务流程相契合。本指南将引领您达成在 Odoo 18 中向配置设定添加自定义字段的进程,并以其他交付选项拓展 Odoo 18 POS(销售点)配置的实际范例。

在 Odoo 当中,配置设置经由 res.config.settings 模型予以管理。该模型充作管理模块特定设置的集中之所,这些设置的范畴涵盖自常规的系统首选项至单个模块的特定配置选项。借由对该模型进行扩展,您能够增添契合您独特需求的新字段,进而确保您的配置设置尽可能完备且具有相关性。
扩展配置设置能够让您融入默认 Odoo 配置所未涵盖的其他参数。这对于那些需要标准选项未能涵盖的特定设置的模块而言,尤为有用。譬如,于 POS 系统之中,您或许需要对各种交付方式进行配置,并依据您的业务运营启用特定的选项。凭借添加自定义字段,您能够为用户给予更为定制化且功能更强大的设置。
将自定义字段添加到配置设置
要将自定义字段添加到 Odoo 18 中的配置设置,请按照以下关键步骤操作:
定义自定义域
第一步是通过增添自定义字段来拓展 res.config.settings 模型。此过程牵涉到创建一个新的 Python 文件,您能够于其中界定其他字段并指明其属性。举例而言,您或许期望添加一个 Boolean 字段以启用或禁用某些功能,同时添加一个 Many2many 字段来选取各类交付方法。创建一个诸如 res_config_settings.py 的 Python 文件,用以拓展 res.config.settings 模型。
from ast import literal_eval
from odoo import api, fields, models
class ResConfigSettings(models.TransientModel):"""Extension of 'res.config.settings' for configuring delivery settings."""_inherit = 'res.config.settings'enable_delivery = fields.Boolean(string='Enable Order Types',help='This field is used to enable setting''order types in settings')delivery_methods = fields.Many2many('delivery.type',string='Order Types',help='Set the delivery methods')@api.modeldef get_values(self):"""Get the values from settings."""res = super(ResConfigSettings, self).get_values()icp_sudo = self.env['ir.config_parameter'].sudo()enable_delivery = icp_sudo.get_param('res.config.settings.enable_delivery')delivery_methods = icp_sudo.get_param('res.config.settings.delivery_methods')res.update(enable_delivery=enable_delivery,delivery_methods=[(6, 0, literal_eval(delivery_methods))] if delivery_methods else False,)return resdef set_values(self):"""Set the values. The new values are stored in the configuration parameters."""res = super(ResConfigSettings, self).set_values()self.env['ir.config_parameter'].sudo().set_param('res.config.settings.enable_delivery', self.enable_delivery)self.env['ir.config_parameter'].sudo().set_param('res.config.settings.delivery_methods',self.delivery_methods.ids)return res
创建自定义视图
在定义好自定义字段之后,下一步乃是创建一个视图,此视图会于配置设置当中展示这些字段。这关联到定义一个 XML 文件,该文件明确了新字段于现存配置设置表单里的显示形式和位置。借助 XML,您能够将自定义字段融入到设置视图的相应部分之中,保证它们易于获取和逻辑排布。
若要将自定义字段整合至 POS 配置设置表单当中,请于文件中定义 XML 视图,例如:res_config_settings_views.xml
<?xml version="1.0" encoding="UTF-8"?>
<odoo><!-- Define a view to extend POS configuration settings with delivery options --><record id="view_pos_configuration_form" model="ir.ui.view"><field name="name">pos.config.view.form.inherit.pos.order.types</field><field name="model">res.config.settings</field><field name="inherit_id" ref="point_of_sale.res_config_settings_view_form"/><field name="arch" type="xml"><xpath expr="//block[@id='pos_accounting_section']" position="after"><div class="row mt16 o_settings_container"><div class="col-12 col-lg-6 o_setting_box"><div class="o_setting_left_pane"><field name="enable_delivery"/></div><div class="o_setting_right_pane"><label for="enable_delivery"/><div class="text-muted">Delivery products based on order types</div><div class="content-group mt16" invisible="enable_delivery == False"><field name="delivery_methods" widget="many2many_tags"/></div></div></div></div></xpath></field></record>
</odoo>
在定义完自定义字段并创建好视图之后,您需要对模块列表予以更新,并安装自定义模块。此步骤能够确保您的新字段融入到 Odoo 系统当中且可供运用。通过对模块列表进行更新以及安装模块,您能够让您的自定义配置设置在 Odoo 界面中得以显现并发挥效用。

于 Odoo 18 之中将自定义字段添加至配置设置,能够增强 Odoo 实例的灵活性与功能。借由扩展 res.config.settings 模型并创建自定义视图,您能够融入满足特定业务需求的其他参数。此种方法不但能够优化用户体验,还能够确保您的配置设置与您的操作要求保持契合。
无论您是对 POS 设置进行自定义,还是配置其他模块,添加和管理自定义字段的能力,皆为定制 Odoo 以适配您的业务流程提供了极具价值的选项。经由本指南,您能够安心地拓展 Odoo 配置设置,并强化系统的功能。
相关文章:
No.1免费开源ERP:Odoo自定义字段添加到配置页中的技术分享
文 / 开源智造(OSCG) Odoo亚太金牌服务 在Odoo18之中,配置设定于管控各类系统配置层面发挥着关键之效用,使您能够对软件予以定制,以契合您特定的业务需求。尽管 Odoo 提供了一组强劲的默认配置选项,然而有…...
Linux 更改Jenkins使用其他账户启动
Linux 更改Jenkins使用其他账户启动 步骤一:修改 Jenkins 配置文件1. 编辑 Jenkins 的 systemd 服务文件:2. 在编辑器中添加以下内容:3. 保存并退出编辑器 步骤二:更改 Jenkins 目录的权限步骤三:重新加载 systemd 配置…...
wordpres当前分类调用父分类的名称和链接
在WordPress中,如果你想在当前分类页面调用并显示父分类的名称和链接,你可以使用以下代码片段: <?php // 获取当前分类的ID $cat_id get_queried_object_id();// 获取当前分类的父分类ID $parent_id get_term($cat_id, category)->…...
TCP客户端模拟链接websocket服务端发送消息(二)
兄弟们,我来填坑了,o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o,前几天写了个tcp模拟websocket客户端的以为完成,后面需要发送消息给服务端,以为简单不就是一个发送消息么,这不是一…...
操作系统之同步与互斥的基本概念
1. 同步的基本概念 定义:同步是指在多个并发执行的进程或线程之间协调其行为,以使它们能够正确地相互合作。在计算机科学中,同步通常指对共享资源进行访问控制,以避免竞争条件和死锁等问题。 实现方式:为了实现同步&a…...
详细讲解axios封装与api接口封装管理
一、axios封装 axios是基于promise的http客户端,用于浏览器和nodejs发送http请求 ,对它进行封装主要是为了统一管理请求配置和处理请求和响应的通用逻辑等。以下是常用的封装逻辑和要点 1:引入axios相关依赖 首先引用项目中的axios库&…...
API 接口如何确保数据的安全?
在API接口的对接中,确保数据的安全性是至关重要的。以下是一些关键措施,可以帮助实现这一目标: 一、认证与授权 API密钥:为每个调用方分配唯一的API密钥,客户端在请求时携带该密钥,服务器端验证其有效性。…...
HAL库STM32硬件IIC驱动数字电位器MCP4017
目录 一、芯片特性 二、硬件电路 三、工程搭建 四、IIC硬件地址 五、驱动程序 项目需要,最近用到了一个IIC接口的数字电位器,型号:MCP4017T-502E。对应阻值5K,使用STM32G030F6的硬件IIC驱动,发现简单的不得了&…...
「地平线」副总裁余轶南与「理想汽车」智驾产品总监赵哲伦联手创业,入局具身智能赛道!
小编早期文章:智驾领域从业者,疯狂涌入人形机器人赛道!就有提到智驾领域从业者入局人形机器人赛道是趋势并分析原因。 之前媒体报道的智驾芯片上市公司【地平线】创始成员、副总裁、前软件平台产品线总裁余轶南(博士)…...
弹性盒子(display: flex)布局超全讲解|Flex 布局教程
文章目录 弹性盒子flex什么是弹性布局?弹性布局的特点?justify-contentalign-itemflex-direction (主轴的方向:水平或者垂直)flex-wrapflex-flowalign-contentflex-grow 属性flex-shrink 属性flex-basis 属性flex 属性align-self 属性 弹性盒…...
无问社区-无问AI模型
无问AI模型是无问社区新上线的一款AI功能,支持文本图像的输入,在文本理解能力、推理能力、视觉能力上相较于“社区助手”有了很大的提升。 我们在预训练模型的技术上增加1.7亿token的训练数据进行强化训练使其具备更好的效果。 更好的消息是我们准备了…...
如何记录日常笔记
如何使用Obsidian来记录日常的笔记吗?比如会议记录、读书笔记。 我认为,首先需要做好的就是建立一个单独的分类,比如设置会议记录的文件夹、读书笔记的文件夹,这样各个笔记相互不干扰。 而做日常记录,和我们进行卡片…...
【魅力golang】之-反射
1、引言 反射(Reflection)在 Golang中用于运行时检查和操作变量的类型和值。通过反射,可以实现动态类型处理,这在构建泛型代码、框架、序列化工具和动态代理等场景中非常有用。 2、什么是反射 反射是指程序在运行时能够动态地检…...
git--批量修改本地用户名和邮箱
原文网址:git--批量修改本地用户名和邮箱-CSDN博客 简介 本文介绍git如何批量修改项目的本地用户名和邮箱。 脚本 新建脚本:git_config.sh,内容如下: #!/bin/bash topDirpwd echo "开始处理" for file in ls ./ do…...
Rofin罗芬激光PowerLine L300 PL400 Manual 软件
Rofin罗芬激光PowerLine L300 PL400 Manual 软件...
【 thefuck 安装与使用】Linux 终端自动纠错工具:一头GitHub上的“草泥马“ - thefuck,妈妈再也不用担心我打错命令行了!
目录 快速安装使用 . 1.简介 2.安装 3.配置 4.补充 官方盗料参考 快速安装使用 快速安装使用,四步即可: #Ubuntu/Debian系统 sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install thefuck #编辑bashrc配置文件 vim ~/.bashrc…...
牛客网刷题 ——C语言初阶——BC112小乐乐求和
1.牛客网刷题 ——C语言初阶 牛客网:BC112小乐乐求和 小乐乐最近接触了求和符号Σ,他想计算的结果。但是小乐乐很笨,请你帮助他解答。 输入描述: 输入一个正整数n (1 ≤ n ≤ 109) 输出描述: 输出一个值,为求和结果。 示例1 输…...
【PyTorch】(基础七)---- 完整训练流程
首先要明确一点,我们在编写模型、训练和使用模型的时候通常都是分开的,所以应该把Module的编写以及train方法和test方法分开编写。 调用gpu进行训练:在网络模型,数据,损失函数对象后面都使用.cuda(&#x…...
01- 三自由度串联机械臂位置分析
三自由度串联机械臂如下图所示(d180mm,L1100mm,L280mm),利用改进DH法建模,坐标系如下所示: 利用改进DH法建模,该机器人的DH参数表如下所示: 对该机械臂进行位置分析&…...
Flutter实现可拖拽操作Draggable
文章目录 1. Draggable 控件的构造函数主要参数: 2. Draggable 的工作原理3. 常见用法示例 1:基本的拖拽控件解释:示例 2:与 DragTarget 配合使用解释: 4. Draggable 的回调详解5. 总结 Draggable 是 Flutter 中一个用…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
