随笔分类 -  odoo

摘要:自动执行脚本代码: 如果py3o的打印出现问题,可以直接执行/opt/lyt下的 restart-py3o-only.sh这个文件。即可重启服务。环境已经配置好了。一般情况下出现的问题是缺少java的环境。直接安装就可以了 #!/bin/bash # 脚本用于仅重启 LibreOffice 守护进程 阅读全文
posted @ 2025-07-07 10:47 *感悟人生* 阅读(37) 评论(0) 推荐(0)
摘要:好的,接下来我将给你举几个常见的应用场景,说明如何使用 reduce、map 和 filter 来处理复杂的计算逻辑。这些场景涵盖了日常开发中可能遇到的任务。 1. 使用 reduce 进行复杂的累积计算 示例场景:商品订单总价的计算(带折扣) 假设你有一个订单列表,每个订单行包含商品的价格、数量、 阅读全文
posted @ 2025-07-03 09:45 *感悟人生* 阅读(55) 评论(1) 推荐(0)
摘要:在 Odoo 或 Py3o 模板中,汇总通常是对某些字段进行累加或汇总统计。你已经提到的通过列表推导式 (list comprehension) 和 sum 来进行汇总是最常见的方式,下面我会介绍如何使用 reduce 和 map 来实现汇总。 1. 使用 reduce 来汇总: reduce 函数 阅读全文
posted @ 2025-07-03 09:36 *感悟人生* 阅读(18) 评论(0) 推荐(0)
摘要:py3o模板中利用libroffice中的calc来处理odoo中的模板打印 ${eval("__import__('num2words')").num2words(round(sum(lowes.product_uom_qty * lowes.price_unit for lowes in obj 阅读全文
posted @ 2025-07-03 09:21 *感悟人生* 阅读(48) 评论(0) 推荐(0)
摘要:在 Odoo 中,一对多字段(One2many)和计算字段(Computed)在查询时的处理与普通字段有所不同,因为它们并不直接映射到数据库表中的列。理解如何查询这些字段是非常重要的,下面我会分别介绍如何处理一对多字段和计算字段。 1. 一对多字段 (One2many) 一对多字段(One2many 阅读全文
posted @ 2025-01-16 17:17 *感悟人生* 阅读(135) 评论(0) 推荐(0)
摘要:在odoo中 为什么在模型中,有的字段,用SQL有的可以查到,有的字段却报错。 select source_fact_no,confirmation_date from sale_order_line [42703] ERROR: column "confirmation_date" does no 阅读全文
posted @ 2025-01-16 16:22 *感悟人生* 阅读(93) 评论(0) 推荐(0)
摘要:在Odoo开发中,ref是一个非常重要的函数,用于在XML文件中引用其他数据的ID,帮助我们快速定位和调用系统中已经存在的记录。ref的全称是reference,可以通过该函数引用特定的视图、字段、模型等元素,从而在模块开发中实现跨文件、跨模块的引用。下面我会详细解释ref的作用,并提供丰富的示例, 阅读全文
posted @ 2024-11-13 10:08 *感悟人生* 阅读(190) 评论(0) 推荐(0)
摘要:今天在工作中遇到一个这样的问题。要求:做一个打印模板实现下面图中的分类汇总 py3o://for="o in object.delivery_containers_line.read_group(domain=[('delivery_order_id','=',object.id)], fields 阅读全文
posted @ 2024-11-06 16:58 *感悟人生* 阅读(340) 评论(0) 推荐(0)
摘要:1. 使用 env.cr.execute 执行 SQL 语句 Odoo ORM 提供的 env.cr.execute() 可以直接执行 SQL 语句,这样可以在 Python 代码中调用 SQL 逻辑,结合 Odoo 的业务模型实现复杂的逻辑操作。execute() 方法适合处理批量数据更新、复杂查 阅读全文
posted @ 2024-10-31 10:59 *感悟人生* 阅读(185) 评论(0) 推荐(0)
摘要:以下是一些常见的 SQL 函数及其详细中文解释、示例和总结: 1. COALESCE 作用:COALESCE 函数从左到右依次检查其参数,并返回第一个非空的值。如果所有参数都为空,则返回 NULL。 应用场景:可以在处理缺失数据时使用,尤其是多个字段可能为空的情况下,可以选择一个优先级最高的非空值。 阅读全文
posted @ 2024-10-31 10:51 *感悟人生* 阅读(152) 评论(0) 推荐(0)
摘要:昨天在工作中遇到一个问题: 由于这是odoo12的架构,所以新加的这个字段还是个计算字段。逻辑是: 客户优先引用“出运要求”关联的客户,如果这个客户没有值,则取 “采购合同” 关联的客户字段。这张表已经有13000条数据了。即使增加了这个客户的计算逻辑,也无法触发这个计算字段。 @api.depen 阅读全文
posted @ 2024-10-31 10:35 *感悟人生* 阅读(94) 评论(0) 推荐(0)
摘要:上一篇是只统计在过去几分钟内有活动的用户是在线的。今天我们来处理当浏览器关闭后,才算是离线用户,否则算在线用户。 要实现当浏览器关闭后才算用户离线的功能,在 Odoo 中较为复杂,因为 Odoo 服务器端无法直接检测到客户端浏览器的关闭事件。不过,我们可以通过一种近似的方法来实现这个功能:定期从客户 阅读全文
posted @ 2023-12-26 16:23 *感悟人生* 阅读(107) 评论(0) 推荐(0)
摘要:在 Odoo 14 中统计在线人数通常涉及到定制开发或者使用特定的模块。 自定义开发:如果没有现成的模块,您可能需要进行一些自定义开发。这通常涉及到扩展Odoo的用户模型,以跟踪用户的登录和登出活动。以下是一个基本的实现思路: 扩展用户模型:在用户模型(通常是res.users)中添加字段来记录用户 阅读全文
posted @ 2023-12-26 16:09 *感悟人生* 阅读(445) 评论(0) 推荐(1)
摘要:next() 函数在Python中的主要作用是从可迭代对象中返回满足条件的第一个元素,或者在没有满足条件的元素时返回默认值。在上述场景中,next() 用于在 objects.additional_line 中查找满足条件 '预付款' in line.name 的第一个元素的 price_total 阅读全文
posted @ 2023-12-13 13:38 *感悟人生* 阅读(86) 评论(0) 推荐(0)
摘要:在Odoo中,ref 字段是一个用于关联其他记录的字段。它是一个特殊的Many2one字段,允许你在一个模型中创建一个关联到另一个模型的字段。ref 字段通常用于建立模型之间的关联关系,例如,一个销售订单关联到一个产品。 以下是关于ref 字段在Odoo中的作用以及一个示例说明: 作用: 建立关联关 阅读全文
posted @ 2023-12-13 13:32 *感悟人生* 阅读(188) 评论(0) 推荐(0)
摘要:昨天在工作中遇到这样一个问题,在取一个列表中最大值的时候。因为有空值总是报错: 'get_var_corresponding_ods_type(max(line.payment_date for line in dj.ss_account_payment_balance_lines if line. 阅读全文
posted @ 2023-10-18 10:38 *感悟人生* 阅读(55) 评论(0) 推荐(0)
摘要:${eval("env['ss.purchase.exchange.rate'].search([('currency_id', '=', 'USD'), ('crawler_day', '=', datetime.datetime(object.delivery_order_id.ATD.year 阅读全文
posted @ 2023-10-17 15:34 *感悟人生* 阅读(161) 评论(1) 推荐(0)
摘要:上面的需求是:为 ”设计识图“ 这个菜单添加权限: 只有在设置 > 用户和公司 > 用户组中,会有一个名为“辅助组-设计识图”打钩后,才会显示这个菜单项: 实现上面的需求共三步: 1、在本模块的security目录下的\security\ir.model.access.csv 下为模型添加权限(如果 阅读全文
posted @ 2023-10-16 15:04 *感悟人生* 阅读(207) 评论(0) 推荐(0)
摘要:下面的代码,可以在一个模块中,修改另一个视图的内容,这里是新增一个字段,即:下图中的 字段:my_field 固定部分:- <record id="view_order_form_inherit_my_module" model="ir.ui.view">:这是定义一个新的记录的开始标签。model 阅读全文
posted @ 2023-09-20 11:08 *感悟人生* 阅读(97) 评论(0) 推荐(0)
摘要:上一篇文章,我们讨论了在py文件中使用context的问题。 今天我来讨论一下。在XML视图中的使用情况 : 在 Odoo 中,视图可以用来定义用户界面。在视图中,你可以使用 context 来改变字段的默认值或者控制字段的可见性。 下面是一些在视图中使用 context 的例子: 设置字段的默认值 阅读全文
posted @ 2023-07-19 17:10 *感悟人生* 阅读(68) 评论(0) 推荐(0)