自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 如何在 Odoo 16 中设置和使用系统参数

如果您的 Odoo 16 实例可以从不同的 URL如何在 Odoo 16 中设置和使用系统参数 则需要考虑与 web.base.url 相关的问题。Odoo 16 中的系统参数是存储和管理 Odoo 实例中各种配置设置的基本工具。在 Odoo 16 中,系统参数提供了灵活性和定制性,可使软件适应您组织的独特需求。通过遵循以下步骤,您可以利用系统参数的强大功能来优化您的 Odoo 体验。您可以通过用户界面或直接在模块内创建 Odoo 16 中的系统参数。

2024-07-21 15:14:00 675

原创 如何在 Odoo 16 中覆盖现有控制器

如何在 Odoo 16 中覆盖现有控制器因此,需要在继承的子类中提及路由,之后您可以轻松地进行所需的更改。现在,我们需要在现在重写的子类内部进行必要的修改,例如通过引用我们需要重写的函数并对该函数进行必要的更改来添加函数或更改函数。a) 函数覆盖:我们将父类的函数复制并粘贴到我们继承的类中,进行必要的修改,以便新函数完全替换旧函数。在我们的示例中,轮播中可以显示的产品的最大数量是 12,但是我们将其更改为 10。这些是我们需要牢记的事情。

2024-07-21 15:08:20 299

原创 如何在 Odoo 16 中生成 CSV 报告

首先,将 OCA 中的“report_csv”模块作为依赖模块添加到 manifest.py 文件中的“partner_csv_report”。如何在 Odoo 16 中生成 CSV 报告 该文件定义了我们的 CSV 报告应是什么样子。* name="report_csv.partner_csv": 指定报告的技术名称,引用定义报告逻辑的 Python 文件。在 partner_csv_report.py 中,您可以定义生成 CSV 报告的逻辑。

2024-07-09 11:23:00 835

原创 如何在 Odoo 16 中配置搜索视图、过滤器和分组

如何在 Odoo 16 中配置搜索视图、过滤器和分组我们可以将搜索视图添加到视图文件夹内的 XML 文件中,就像表单、树和看板视图一样。Odoo 中有多种视图类型,包括表单、看板、树、日历、Qweb、搜索等。与表单视图相比,搜索视图用于过滤其他视图的内容,而不是显示内容本身。例如,我们已经为 school.student 模型定义了列表和表单视图,并创建了它的模型。在搜索标签内,我们定义每个搜索视图。像这样,我们可以在 Odoo 16 中自定义搜索视图。

2024-07-09 11:20:03 417

原创 如何在 Odoo 16 中创建名称搜索功能

如何在 Odoo 16 中创建名称搜索功能 并实现了“if”条件,以使用空字符串优化默认条件“ilike”,该条件与所有内容匹配。args += ['|', '|', '|', ('name', 操作员, name), ('phone', 操作员, name), ('email', 操作员, name), ('state_id.name', 操作员, name)]Odoo 的名称搜索功能简化了此搜索过程,提供了一种根据我们的特定需求自定义搜索的便捷方式。

2024-07-09 11:16:36 895

原创 如何在 Odoo 16 中向命令面板添加新命名空间?

如何在 Odoo 16 中向命令面板添加新命名空间?当我们单击感叹号时,此模型将呈现 ModelItemCommand。在Odoo16中,命令面板是一个功能强大的工具,可让您快速访问和执行系统内的各种操作。”命令添加到命令面板。当我们点击键盘上的感叹号键时,我们应该显示一个视觉上吸引人的模板命令面板。在这里你可以看到,你还可以设置占位符和空消息。在这篇博客中,我们将探讨如何向命令寄存器添加新命令。我们需要为此向注册表添加一个新的命令类型。

2024-07-05 15:39:21 183

原创 如何在 Odoo 16 中向新视图添加字段

在 JavaScript 文件中加入 Many2XAutocomplete 组件后,继续为每个属性添加必要的功能,确保与指定的属性(如占位符、值、fieldString、activeActions、resModel、getDomain.bind 和 update.bind)全面的实现一致。绑定“getDomainTarget”函数以动态确定Many2XAutocomplete字段的域,从而影响下拉列表中显示的数据。请考虑下面的屏幕截图,如何在 Odoo 16 中向新视图添加字段

2024-07-05 15:00:49 246

原创 如何在 Odoo 16 中对 Many2Many 字段使用 Group by

但如果 many2many 字段中的值为 2,则它将以逗号 (,) 显示,如 tag1、tag2 等,因为它是一个字符字段。中,您无法按 many2many 字段分组,因为可以使用 many2many 记录选择任何记录。您可以创建一个替代 Many2Many 字段来计算来自 many2many 字段的值。您可以根据需要提供域名,因为可以在已保存的字段中简单搜索。Many2many 字段与 Many2one 字段类似,如何在 Odoo 16 中对 Many2Many 字段使用 Group by

2024-07-05 14:52:33 247

原创 如何在 Odoo 16 网站中创建通用控制器

总之,提供的代码演示了如何在 Odoo 中创建通用控制器来处理来自网站的表单提交。通用控制器允许根据提交的表单数据在任何指定的模型中动态创建记录。在Odoo中,通常网站表单允许用户输入数据,提交后会调用相应的控制器,并在控制器指定的模型中创建记录。此外,在模板定义中,我们可以将字段名称指定为表单字段的名称。在这篇博客中,我们将创建一个通用控制器,可用于在提交表单时在任何模型中创建记录。2.接下来,我们可以定义一个通用控制器,如何在 Odoo 16 网站中创建通用控制器

2024-07-05 13:37:17 76

原创 如何在 Odoo 16 中继承和更新现有邮件模板

如何在 Odoo 16 中继承和更新现有邮件模板然后将“noupdate”设置为 True。我们必须在数据参数中指定文件,并在清单文件的“依赖项”列表中指定现有模板的模块(在此示例中为“account”,因为我们正在升级“email_template_edi_invoice 模板”)。例如,我将发票日期包含在电子邮件的主题中,并将报告的名称附加到电子邮件中。在我们的案例中,邮件模板位于“帐户”模块中。在这里,我们将进行更改。在本文中,让我们看看如何在 Odoo 16 中继承和编辑现有邮件模板。

2024-07-05 13:31:39 175

原创 Odoo 16 采购仪表盘概述

预配置的过滤器包括:报价请求、除取消订单外的所有采购订单、去年的确认日期包括前一年确认的所有订单,包括取消的采购订单。订单日期包括所有订单 - 报价请求和采购订单(包括取消订单) - 按其创建日期计算,确认日期包括所有已确认的订单,包括已取消的订单,具体取决于其确认日期。如果您选择一个或多个过滤器,Odoo 将搜索与您选择的至少一个过滤器匹配的所有订单,并使用数据填充图表和数据透视表。默认情况下,报告面板会显示一个折线图,显示您每日采购订单的未税金额,下面是最重要的数据和数据透视表。以下是条形图的示例。

2024-07-05 13:25:42 325

原创 如何在 Odoo 16 中自定义电子商务中动态片段的产品过滤器

Odoo 16 中的动态代码片段过滤器自定义功能为创建定制且用户友好的网站内容开辟了新的可能性。然后,我们必须在后端创建一个过滤器作为“website.snippet.filter”模型的记录,并在字段“action_server_id”中添加服务器操作。我们调用函数“_get_products_customize_filter()”,我们将在“website.snippet.filter”模型内的自定义模块中定义该函数。当我们打开过滤器下的代码片段选项时,如何在 Odoo 16 中自定义电子商务中动态片段

2024-07-05 10:08:32 516

原创 Odoo 16 中的酒店管理应用程序

Odoo 16 中的酒店管理提供了一个集中式平台,用于管理预订、客房分配、客人资料和发票。凭借其用户友好的界面和可自定义的功能,odoo 中的酒店管理模块使酒店经营者能够增强客人体验、优化资源配置并提高整体运营效率。从客房管理到活动策划、餐饮管理和在线预订功能,此模块提供了一个集中式平台,使酒店能够优化运营并提供卓越的服务。酒店设有清洁管理功能,通过提供集中平台来管理清洁计划、为客房清洁人员分配任务以及监控客房清洁状态,从而简化客房清洁操作。通过简化交通服务,酒店可以确保为客人提供及时、无忧的体验。

2024-07-05 10:03:23 294

原创 如何在 Odoo 16 中通过函数创建和管理自定义字段

“Payment Term.”字段之后,自定义字段“Custom Field”的视图。接下来,我们将使用“ir.ui.view”中的“create”函数创建一个继承视图“sale.view_order_form”的新视图。我们必须在自定义模型中重新定义 groups 字段,因为 many2many 字段 dynamic.fields.groups 和 ir.model.fields.groups 使用相同的表和列,如何在 Odoo 16 中通过函数创建和管理自定义字段

2024-07-05 09:59:45 110

原创 如何在 Odoo 16 中添加计算字段的搜索过滤器

当我们需要从其他字段获取计算值或计算值时,就会使用计算字段。换句话说,不是从数据库中检索值,而是可以使用函数计算字段的值。在 Odoo 中,计算字段可以以两种不同的方式存储。(注意:如果维护 store=True,则只有在依赖字段的值发生变化时,计算函数才会运行)。因此,在某些情况下我们需要使用这些计算字段进行搜索或过滤。同样,我们不仅可以为布尔字段添加搜索功能,还可以为其他类别字段的计算字段添加搜索功能。使用计算字段进行搜索的第二种方法是向计算字段添加搜索功能,如下面提供的代码所示。

2024-07-04 17:38:48 412

原创 Odoo 16 中 7 个最常用的异常是什么

通过了解和利用 Odoo 16 中提供的各种异常,例如 ValidationError、UserError、AccessError、MissingError、AccessDenied 和 CacheMiss,开发人员可以有效地管理错误和异常情况。这些异常不仅有助于维护数据完整性,而且还为用户提供清晰的反馈和指导,确保在 Odoo 环境中获得流畅直观的用户体验。您可以传递一条消息,向用户提供有关验证错误的反馈。但是,如果请求的数据不在缓存中,则会引发 CacheMiss 异常,以指示必须从数据库中提取数据。

2024-07-03 16:39:21 661

原创 Owl 中的 Props 概述

将这种方法提升到新水平的一个框架是 Owl,其中“props”(属性的缩写)的概念在协调父组件和子组件之间的通信中起着关键作用。通过掌握 prop 定义、比较和验证的细微差别,开发人员可以充分发挥 Owl props 的潜力,从而获得无缝且愉悦的 Web 开发体验。从本质上讲,Owl 对 props 的使用增强了组件的模块化,使它们能够专注于特定任务,同时有助于构建一个具有凝聚力和可扩展性的 Web 应用程序。Owl 中的 props 对象充当组件模板中定义的属性的容器。

2024-07-03 11:11:16 496

原创 如何在 Odoo 16 中通过函数创建和管理自定义字段

在此特定视图中的“Payment Term.”字段之后,我们必须定义自定义字段“Custom Field”的视图。接下来,我们将使用“ir.ui.view”中的“create”函数创建一个继承视图“sale.view_order_form”的新视图。我们必须在自定义模型中重新定义 groups 字段,因为 many2many 字段 dynamic.fields.groups 和 ir.model.fields.groups 使用相同的表和列,如何在 Odoo 16 中通过函数创建和管理自定义字段

2024-07-03 11:02:17 361

原创 如何在 Odoo 16 中将按钮添加到所有表单视图的操作按钮

在描述中,我们添加文本以显示名称,并在回调函数中添加 doAction 以打开创建销售订单的向导。以下是操作按钮中的按钮。总之,所述过程涉及自定义 Odoo 中的 FormController,以在表单视图中包含一个新按钮。在 Odoo 中,操作按钮是关键组件,允许用户触发与特定表单视图相关的特定操作或工作流。中,一个强大的功能允许用户在所有表单视图中添加按钮到操作按钮中,从而提供全新级别的灵活性和控制力。上述 js 代码涉及向表单视图操作按钮添加“创建销售订单”按钮,用于触发显示销售订单表单的向导。

2024-07-02 14:57:43 304

原创 什么是 Mixin 类以及如何在 Odoo 16 中使用 Mixin 类

Odoo 中的 Mixin 可以封装常见的功能或行为,使开发人员能够有效地扩展和增强其模型的功能。然后,您可以在 ClassAStudent、ClassBStudent 和 ClassCStudent 的表单视图中包含 GradeComputableMixin(抽象模型)中定义的字段,您可以相应地修改 XML 代码。简而言之,在这个例子中,GradeComputableMixin 混合类包括获得的分数和等级的字段,以及一个根据获得的分数计算等级的计算方法“_compute_grade”。

2024-07-02 10:58:18 821

原创 如何在 Odoo 16 中创建条形码

让我们讨论如何在 Odoo 16 中创建条形码。众所周知,条形码是机器可读的数据的视觉表示。它使用不同宽度和间距的平行线图案表示数字或字母数据。条形码扫描仪读取并分析条形码中编码的信息,然后由计算机处理。让我们考虑两种情况,如何在 Odoo 16 中创建条形码

2024-07-02 10:31:53 562

原创 如何在 Odoo 16 中创建进度条

Odoo16 有许多字段小部件,包括状态栏、复选框、单选按钮、浮点数、百分比、颜色选择器、URL 等。我们可以使用不同的渲染模板来更改小部件的视图。此外,它还可以帮助我们根据自己的需求进行设计,从而简化、加快、扩展和提高我们的开发效率。我们将要创建的模块。创建“progress_bar_widget.xml”XML 文件,“ProgressBarWidget”的新模板。两个类progress_number 和 progress-bar-inner Odoo16中创建进度条

2024-07-02 10:18:30 416

原创 如何覆盖 Odoo 14 PoS 中的小部件

在此博客中,我们可以了解如何覆盖 POS 中的小部件。小部件是用户界面最重要的构建块,或者我们可以说在 Odoo 中,用户界面中的大多数组件都是使用小部件进行控制的。现在让我们看看当我们单击批次和序列号弹出窗口的“确定”按钮时如何显示错误弹出窗口。首先,我们必须扩展 EditListPopup 小部件并编写在单击“确定”按钮时显示错误弹出窗口的代码。在这里,我们可以根据需要设置要在错误弹出窗口中显示的标题和内容。通过这种方式,我们可以覆盖一个小部件并添加我们想要的任何内容。现在我们将创建一个自定义模块。

2024-02-01 18:16:25 461

原创 关于Odoo Bus 总线库

Odoo 是一款流行的开源业务管理软件,拥有许多用于管理各种业务流程的应用程序,例如会计、销售、库存等。Odoo Bus 是一个消息传递系统,允许 Odoo 中的客户端和服务器之间进行实时通信。Odoo Bus 库是一个用于在 Odoo Bus 上构建实时应用程序的 Python 库。Odoo Bus 库可用于构建实时应用程序,无需新页面即可立即传输和接收更新。这是通过长轮询、Web 套接字或 SSE(服务器发送事件)来完成的,具体取决于客户端和服务器的功能。

2024-02-01 18:04:56 484

原创 如何使用 Gzip 和 NGINX 来减小 Odoo 网站和后端的页面大小

由于它压缩了内容,因此传输内容所用的带宽和时间比常规方法少很多。要打开 Gzip 压缩,您必须在 NGINX 文件的 Server 块中进行以下配置(您可以在 /etc/nginx/nginx.conf 文件以及 /etc/nginx/sites 中的文件中进行配置) -启用或/etc/conf.d/nginx)。我们可以提供text/scss text/javascript等内容类型,如果没有提供gzip_types,NGINX将响应text/html内容类型,Odoo最有利的配置如下。

2024-02-01 17:55:05 567

原创 Odoo14 中的小部件列表

们有不同类型的小部件用于不同的目的,帮助我们简化操作。小部件用于使代码变得简单且用户友好,这将有助于软件的编码和编程方面。在 Odoo 14 开发中,我们可以利用不同的小部件,这些小部件可用于编程操作的某些特定方面。这些简化工具将为简化编程操作铺平道路。在这篇文章中,我们将讨论可以在 Odoo 领域应用的不同小部件。所有可在 Odoo 中使用的 Widget 工具均与其相关的索引一起定义。在本博客中,我们总共介绍了 Odoo 中使用的 30 种小部件工具。

2024-01-26 20:21:56 1242

原创 如何在Odoo14中生成二维码

add_data 参数可用于将数据添加到二维码,在此示例中创建发票公司名称、付款参考、客户和销售人员详细信息的二维码。它由许多黑色方块组成,排列在白色背景的方形网格中,我们可以在其中嵌入成像设备可读的数据。在继承的python文件中,导入了图像的QRcode和base64库,并简单地为QRcode添加了二进制类型的计算字段。是一个参数,是1到40之间的整数,控制二维码的大小用此方法,我们可以生成一个 QR 码,用于存储 Odoo 14 中不同记录的数据。如何在 Odoo 14 中生成二维码

2024-01-26 13:25:54 443

原创 Odoo14 动态过滤或联动domain

Odoo14 动态过滤或联动domain,在 Odoo14 中最常用的动态过滤或联动domain的方法有两种使用 上下文 context 和 重写 _search() 或 _name_search() 方法 使用 onchange() 装饰器 的 domain 返回值,需要了解更多的 onchange装饰器返回值内容

2024-01-17 16:47:46 9587

原创 odoo14 @api.onchange装饰器的返回值使用操作

odoo14,onchange装饰器的返回值使用操作,其中可以包含以下键,'value': 用于更新字段的新值。这个键对应的值是一个字典,其中包含要更新的字段名及其新的值。当字段的值发生变化时,这些新的值将被用于更新与这些字段相关的视图部分,'warning': 用于显示警告信息。这个键对应的值是一个字典,其中包含了用于显示警告的信息,如标题、消息和类型。

2024-01-16 12:17:05 10045

原创 odoo14 动态改变进度条颜色(widget=“progressbar“)底色,边框,进度颜色

这个组件 拥有普通组件widget=“progressbar“的所有功能,换言之 在widget=“progressbar“组件的js文件和模板文件的基础上进行改进,使其有更好的可移植性和可造性。odoo14 动态改变进度条颜色(widget=“progressbar“)底色,边框,进度颜色,,在odoo14中当时使用:widget="progressbar" 时默认表现为:

2024-01-13 21:43:10 12845

原创 odoo14 根据主表字段动态改变子表的创建,编辑,删除属性

odoo14 根据主表字段动态改变子表的创建,编辑,删除属性,子表数据的编辑,删除和创建状态得根据主表的某一或几个字段值而动态在。利用 options和attrs 属性实现,字段就需要在字段中添加options和attrs了。这三个控制也可以相互使用,比如:不可创建和不可删除,可编辑不可删除 等根据业务需求定制。当我的编辑控制为:不可编辑时,编辑状态下子表不可以新创建数据且不可以编辑。当我的创建控制为:不可创建,编辑状态下子表不可以新创建数据。当我的删除控制为:不可删除时,删除状态下子表数据不可以删除。

2023-12-28 17:35:29 14605

原创 树莓派(linux)使用Motion动作捕捉或实时获取视频

在浏览器输入ip:8081,查看第1个摄像头视频,如果有多个摄像头,访问不同端口号即可,如ip:8082,ip:8083。已知的,最大可以支持3个。修改/etc/motion/motion.conf,如下图所示,去掉cameraX前的注释,即启用该摄像头配置,motion会自动读取配置文件,启动多个摄像头。stream_maxrate 70 #默认为1,图像会比较卡,将这个参数设置为 100 或者小点的(可以自行观察后配置),之后发现视频流非常流畅树莓派(linux)使用Motion动作捕捉或实时获取视频

2023-12-28 10:07:37 9156

原创 python多线程同步:Event对象

python线程同步:Event对象,set()— 全局内置标志Flag,将标志Flag 设置为 True,通知在等待状态(wait)的线程恢复运行isSet()— 获取标志Flag当前状态,返回True 或者 Falsewait()— 一旦调用,线程将会处于阻塞状态,直到等待其他线程调用set()函数恢复运行clear()— 将标志设置为False。

2023-12-28 09:58:21 11533

原创 webscoket多个客户端同时向一个服务器传输数据

webscoket多个客户端同时向一个服务器传输数据,同一个局域网下,服务器取图片流 发送给客户端 客户端连续展示图片(视频)在服务器和客户端一对一的情况下,视频流可以正常传送,没有任何问题,当服务器同时发送视频流给两个或两个以上的客户端时,服务端会出现断流情况,直接导致代码挂掉服务端读取摄像并传送给连接的客户端(可以多个)连接服务端并持续接受服务端发送的照片形成视频。

2023-12-28 09:53:41 668

原创 websocket获取实时数据的几种常见链接方式

websocket获取实时数据的几种常见链接方式。第一种, 使用create_connection链接,需要pip install websocket-client (此方法不建议使用,链接不稳定,容易断,并且连接很耗时),,第二种,运行效果很不错,很容易连接,获取数据的速度也挺快,第三种,其实和第一种差不多,只不过换种写法而已,运行效果不理想,连接耗时,并且容易断,第四种,运行效果也可以,run_forever里面有许多参数,需要自己设置

2023-12-28 09:48:12 1092

原创 Linux Vim编辑器命令

末行模式:在编辑模式中,英文冒号即是末行模式(英文输入法:shift+:)写入模式:在编辑模式中,按 i ,o,I,O等命令即到写入模式。注:写入模式和末行模式 按 ESC 键即进入 编辑模式。编辑模式:vim [文件名] 回车进入 编辑模式。sudo vim [文件名]

2023-12-28 09:35:17 500

原创 odoo14智能按钮实现

odoo14智能按钮实现,odoo14的智能窗口实现,odoo14的智能窗口实现,在 Odoo 14 中,智能按钮通常使用 ir.actions.server 或按钮的形式实现。以下是创建智能按钮的一般步骤,这里有两种方式:1、button的object方式。1、button的action方式。点击这个数量时,只展示该医生的病人数据。

2023-12-23 23:05:44 11730

原创 odoo14中 @api.onchange(),compute的@api.depends(),@api.constrains()的使用事项

在Odoo 14中,@api.onchange()、@api.depends() 和 @api.constrains() 都是装饰器,用于定义特定类型的方法,以便实现不同的功能。这些装饰器分别用于字段值变化时的动作、计算字段值的逻辑以及在保存记录前执行的验证。

2023-12-15 14:06:28 3912

原创 odoo14前端批量下载附件(可以多个附件)模块

在odoo项目中,将当前列表中被选中记录(一条记录可能有多个附件)的附件在前端批量下载下来,形成一个压缩包,并且通过记录表单字段值进行分类,同一个记录的附件放在以当前表单字段命名的文件夹中。先进行构思:先选中记录,点击某个按钮或动作(带防抖功能)执行 post 请求并附带选中记录的当前模型名称和ID的内容,后端在接收到请求后,根据post附带的信息获取对应附件打包压缩发送前端,前端接收后处理数据并下载。应为需要多个列表使用,写成通用模式。1.在需要的模块中安装该模块的依赖。编写发送和接收数据的通用js代码。

2023-12-13 13:06:53 899

原创 odoo14动态显隐编辑(创建)按钮

【代码】odoo14动态显隐编辑(创建)按钮。

2023-12-12 15:41:57 649

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除