自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MT-Workflow: Odoo 可视化工作流引擎

MT-Workflow 文章摘要 MT-Workflow是一款Odoo可视化工作流引擎,通过BPMN设计器实现业务流程自动化。其核心模块包括: 工作流定义(流程蓝图)与实例(具体运行); 审批项(人工决策)、办理项(非决策任务)和抄送项(通知); 引擎注入技术,动态扩展Odoo模型以支持工作流。 关键功能: 审批任务:支持或签/会签,可按职位、汇报链指派审批人,设置超时自动处理(同意/拒绝/转交)及多级提醒。 办理任务:分阻塞式(流程暂停)与非阻塞式(仅创建待办)。 智能配置:如汇报链“天花板”限制审批层级

2025-09-01 19:05:05 1585 2

原创 MT-Workflow 功能总览

摘要 本文介绍了工作流引擎的核心功能支持情况,涵盖节点类型、审批方式、流程管理、追踪提醒、消息通知、审批中心及自动化集成等方面。系统支持标准BPMN节点(如发起、审批、抄送、分支和结束节点)及多种审批方式(单人审批、多人或签/会签、转签等)。流程管理支持作废、撤回、回退等操作,并提供实时进度追踪和时间轴日志。通知方式包括系统内消息、邮件和预留的第三方接口。审批中心集中管理待办、已处理和抄送任务,自动化功能支持超时自动审批和动态业务代码调用。

2025-09-01 18:35:27 496

原创 Odoo模块加载与ORM行为的架构分析:诊断并解决间歇性Schema不稳定性问题

本报告旨在深入剖析一个在Odoo开发中遇到的棘手问题:通过Mixin添加的`fields.Selection`字段选项在特定升级操作后“凭空消失”。这种现象看似随机且违反直觉,但实际上,它是模块加载顺序与Odoo对象关系映射(ORM)的Schema(数据库结构)同步机制之间发生微妙而严重冲突的典型症状。本文将此行为剖析为特定开发模式与Odoo核心架构交互后产生的可预测结果,而非一个简单的程序错误。通过本次分析,我们将为问题的根源提供一个明确的解释,并建立一套工程最佳实践,以帮助开发者构建稳定且行为可预测的O

2025-08-26 15:42:06 503

原创 Odoo 17 FileViewer 服务开发者深度解析:架构、实现与最佳实践

Odoo 17引入的FileViewer服务是其现代化UI/UX战略的核心组件,通过内联文件预览功能消除了上下文切换,提升了工作流连续性。该服务提供全屏预览、下载、打印等交互功能,并深度集成于文档、讨论等核心应用。架构层面,基于OWL框架的useFileViewer钩子实现了标准化的文件预览API,开发者只需调用open()方法即可触发预览,极大简化了开发流程并提升了代码可维护性。FileViewer不仅解决了早期版本预览功能碎片化的问题,更体现了Odoo向集成化平台发展的战略方向。

2025-08-08 13:24:37 1220

原创 Odoo 17 文件管理的权威指南:`ir.attachment` 与 `fields.Binary` 的深度解析

Odoo ERP系统中文件存储机制的两种范式对比:直接表内存储与集中式附件管理。报告深入分析了fields.Binary字段的attachment参数设置对系统架构的影响,指出attachment=True(默认设置)通过ir.attachment模型实现集中管理,具有存储优化、去重机制和性能优势;而attachment=False仅适用于小型固定数据,滥用会导致数据库膨胀和性能下降。报告详细解析了ir.attachment模型的关键字段及其双重角色,并对比了文件存储与数据库存储的性能差异,为开发者提供了明

2025-08-08 13:14:27 975

原创 Odoo 17中针对只读(readonly)字段的ORM `write` 方法不一致行为的深度解析

Odoo 17模型字段写操作不一致性分析 本报告揭示了Odoo 17开发中一个常见但易被误解的现象:UI层"只读"字段在ORM写操作中表现不一致。研究发现,这种差异源于Odoo框架中readonly属性的多层次实现机制: UI层只读:仅限制前端编辑,不影响API写操作 模型层只读:ORM强制执行,写操作会抛出错误 计算字段隐式只读:无inverse方法的计算字段会导致写操作被静默忽略 报告特别分析了计算字段在ORM写操作中的特殊处理逻辑,指出"静默忽略"是框架设计的预

2025-08-01 15:53:28 712

原创 Odoo 引用字段 fields.Reference:动态关系的选择器

字段为 Odoo 开发提供了更强的灵活性,但也需要开发者充分了解其优缺点,并在合适的场景下使用它。希望本文能够帮助你更好地掌握 Odoo 的引用字段,并编写出更加灵活、高效的代码!字段需要在模型定义时就明确指定关系的目标模型,这在某些场景下会显得不够灵活。为了解决这个问题,Odoo 提供了。在 Odoo 模型开发中,关系型字段是构建复杂应用的基础。引用字段,它允许在运行时动态选择关系的目标模型。

2025-08-01 09:39:04 646

原创 解析BPMN生态系统中的命名约定差异

摘要: BPMN 2.0标准在XML层面采用小驼峰命名法(camelCase),但不同工具在内部实现时遵循各自语言的命名惯例。bpmn.js(JavaScript)将XML标签转为大驼峰(PascalCase)类型标识符(如UserTask),符合JS类命名规范;而SpiffWorkflow(Python)在内部使用蛇形命名法(snake_case),但通过API或JSON序列化时可能转为小驼峰以适应Web标准。这种差异源于BPMN标准仅规范交换格式,允许工具按语言习惯优化内部模型,确保互操作性同时兼顾开发

2025-07-31 10:08:57 799

原创 Odoo Context 深度解析

Odoo中的Context(上下文)是一个核心机制,本质是一个Python字典,用于在操作间传递环境信息和控制参数。它的主要用途包括传递用户语言、时区等环境信息,影响业务逻辑和UI行为,以及控制缓存和模板渲染。Context具有明确的继承优先级,从基础环境到视图元素依次合并,其中窗口动作优先级高于菜单项。常见特殊Context键包括控制UI行为的'create': False、'delete': False,以及设置默认值的'default_field_name': value等。合理使用Context能高

2025-07-30 10:14:21 1440

原创 Odoo开发者的“必经之路”:揭秘登录时 `UndefinedColumn` 错误背后的秘密

文章摘要: Odoo开发中常见的500错误通常源于Python代码与数据库结构不同步。当添加新字段后直接重启服务而未更新模块时,ORM会尝试查询不存在的数据库字段。解决方案是使用odoo-bin -u your_module命令更新模块,同步数据库结构。不同开发场景下的更新策略:修改字段属性或XML文件必须更新模块,仅修改Python方法可重启服务。遵循"修改模型定义必更新"的黄金法则可避免此类问题。

2025-07-30 10:00:23 1035

原创 精通 Odoo 17 动作系统:一份全面的技术指南

Odoo 17 动作系统技术指南摘要 Odoo 17 的动作系统是框架的核心组件,负责连接用户操作与系统响应。本指南全面剖析了五大核心动作模型: 基础动作框架:所有动作共享 type 和 name 基础属性,通过绑定机制(binding_model_id等)实现与用户界面的关联,体现了定义与表现分离的设计思想。 窗口动作(ir.actions.act_window): 核心功能:通过视图展示指定模型的数据 关键属性:res_model、view_mode、target等 开发实践:支持XML静态定义和Pyt

2025-07-21 16:35:45 1144

原创 Ubuntu 安装 Odoo 17 详细教程

Ubuntu 安装 Odoo 17 简明教程 本教程提供在 Ubuntu 系统上安装 Odoo 17 的完整步骤。首先更新系统并安装必要的依赖项,包括 Python、PostgreSQL 和 wkhtmltopdf。接着配置 PostgreSQL 数据库,创建专用用户并设置密码(可选)。然后从 GitHub 克隆 Odoo 17 源代码,创建 Python 虚拟环境并安装依赖包。最后通过命令行初始化数据库并启动 Odoo 服务,也可选择配置为 systemd 服务实现长期运行。完成安装后,通过浏览器访问 h

2025-07-21 16:30:09 902

原创 BPM解密:从理论到实践

真正的流程管理大师,不仅要懂工具,更要懂业务、懂战略。:构建流程体系,既要抬头看路(借鉴标杆,自上而下),也要低头看地(立足现状,自下而上),最终产出一套既有前瞻性又可落地的行动方案。:流程不是一次性建成的,它有自己的生命周期,需要在一个以战略为中心的PDCA闭环中,不断地规划、执行、检查和改进,螺旋式上升。它告诉我们,一个优秀的流程体系不是凭空想象出来的,而是“理论”与“现实”结合的产物。今天,我们从BPM的方法论、核心理论,到体系框架、实现工具,再到最终的端到端管理与优化,进行了一次全景式的旅行。

2025-07-07 13:36:00 693

原创 BPMN 2.0完全解析

BPMN(业务流程模型与符号)作为业务流程管理的"普通话",通过标准化图形符号解决业务与IT间的沟通障碍。其核心由三类元素构成:活动(执行具体任务)、事件(流程触发点与里程碑)、网关(流程决策枢纽)。活动分为用户任务、服务任务等类型,区分人工与系统处理;事件包括开始/结束/边界事件,处理流程触发与异常;网关则分为排他、并行、包容、事件网关四种,控制不同流程分支。BPMN不仅是绘图工具,更是一种将业务逻辑结构化、可执行化的思维方式,为企业数字化转型提供标准化蓝图。掌握这三种核心元素及其交互

2025-07-07 13:32:52 413

原创 1、跳出流程图思考:你的企业真正的“超级武器”是流程

摘要: 流程是企业创造价值的核心“操作系统”,却被普遍忽视。真正的流程管理(BPM)不是繁琐的审批,而是以客户价值为导向的战略级工具。它经历了从效率工具(泰勒制)到战略核心(BPM时代)的进化。企业需通过流程地图分类分层,将流程分为运营类(直接创造价值)和支持类(内部保障),并遵循“战略→流程→组织”的黄金三角逻辑:战略决定流程设计,流程决定组织架构。优化流程应聚焦关键痛点,遵循“清除、简化、整合、自动化”原则,将个人经验转化为组织能力。流程管理的本质是系统性思维,是推动业务高效运转的隐形引擎。

2025-07-07 10:11:54 821

原创 常见的 Git 命令

循序渐进: 先从最常用的命令开始学习,例如 git init, git clone, git add, git commit, git status, git log, git branch, git checkout, git merge, git pull, git push。git checkout -b <new_branch_name> <base_branch>: 创建新的本地分支并切换到新分支,基于 <base_branch> 创建。可以修改提交信息,或者将暂存区的新更改添加到上一次提交中。

2025-03-08 22:28:47 1166

原创 Odoo17 0.1常见的QWeb 模板语言指令的详细总结

这些指令是 Odoo QWeb 模板语言的核心组成部分,掌握它们可以让你编写出功能强大、动态灵活的 Odoo 视图模板。在实际开发中,你需要根据具体的需求灵活组合使用这些指令,来实现各种复杂的页面展示和交互逻辑。Odoo QWeb 模板语言提供了许多指令 (directives) 来增强 HTML 模板的功能,使其能够动态地展示数据、进行条件判断、循环遍历、以及实现更复杂的逻辑。指令会将子模板的 HTML 输出嵌入到当前模板的指定位置。属性允许向子模板传递更复杂的选项字典,用于控制子模板的渲染行为。

2025-02-11 22:02:46 742

原创 Odoo 前端开发:你需要了解的常见 CSS 类

本文详细介绍了 Odoo 中常见的 CSS 类, 覆盖了布局,字段,按钮/链接 和其他常用类。它们提供了 Odoo 应用所需的标准样式和布局,可以帮助你快速开发 Odoo 的前端。记住,你应该尽可能使用这些内置的 CSS 类,并了解它们的使用场景。熟悉这些内置的 CSS 类,可以让你更好地理解 Odoo 的 UI 结构,并构建出更符合 Odoo 风格的应用。Odoo 框架自带了一套强大的 CSS 类,它们不仅能提供一致的 UI 风格,还能简化开发过程。: 通常用于包裹看板视图的卡片,提供卡片式的布局。

2024-12-31 12:49:15 734

原创 在 PowerShell 中优雅地显示 Python 虚拟环境

定义颜色代码$p = ""清晰的虚拟环境显示颜色区分不同类型的环境良好的兼容性这样的配置不仅提高了工作效率,也让开发环境更加清晰直观。希望这个配置对你的 Python 开发工作有所帮助!

2024-12-23 19:53:17 1232

原创 Odoo开发必备:常用命令和开发模式详解

Odoo开发必备:常用命令和开发模式详解

2024-12-06 14:50:33 967

原创 VS Code 连接不上远程主机的原因及解决方案

通过以上步骤,你可以排查并解决 VS Code 连接不上远程主机的问题。如果问题仍然存在,可以查看 VS Code 的输出日志,获取更多详细信息以进一步排查问题。希望这些信息对你有所帮助!如果你有任何问题或需要进一步的指导,请告诉我。

2024-12-05 14:55:52 5185

原创 odoo 服务管理:注册、启动与常见问题解决——无法使用 `systemctl` 停止 Odoo 服务的原因

可以编写一个简单的脚本来停止 Odoo 服务。这个脚本可以通过查找运行的 Odoo 进程,并发送合适的信号来终止它们。以下是一个简单的示例脚本(假设是基于 Linux 系统,并且使用 Bash 脚本):/bin/bash# 查找所有包含 "odoo" 关键字的进程# 如果找到了Odoo进程then# 循环发送终止信号(SIGTERM)给每个进程doecho "正在停止Odoo进程,PID: $pid"doneelseecho "没有发现正在运行的Odoo进程。fi。

2024-11-30 16:37:25 1449

原创 Odoo开发:实例布局搭建全流程(Odoo17)

在Odoo开发中,构建一个规范且合理的实例布局是开启项目的关键一步。它如同大厦的基石,为后续的开发、维护以及扩展工作提供了坚实的框架。今天,我将严格按照资料顺序,详细阐述如何一步步创建Odoo开发所需的实例布局,并结合实际操作中可能遇到的问题进行解释。

2024-11-29 21:25:57 1169

原创 2 Odoo实例创建与命令行参数解析(Odoo17)

在使用Odoo进行开发和部署时,正确创建Odoo实例以及理解相关命令行参数是至关重要的。本文将基于相关资料详细介绍如何创建Odoo实例,并深入解析常用的命令行参数。

2024-11-29 16:47:36 1044

原创 如何配置 PostgreSQL 允许远程连接 - 以 Odoo 数据库为例

在使用 Odoo 时,我们经常需要通过远程工具(如 DataGrip、pgAdmin 等)连接数据库进行管理和查询。然而,PostgreSQL 默认只允许本地连接,需要进行适当的配置才能实现远程访问。本文将详细介绍如何配置 PostgreSQL 以允许远程连接。

2024-11-28 14:21:42 3677

原创 Ubuntu系统的代理机制:为什么图形界面设置的代理在命令行不生效?

理解Ubuntu的双重代理机制对于正确配置系统代理至关重要。GUI和CLI使用不同的代理配置系统是基于Unix/Linux的设计理念,虽然可能造成一些使用上的困惑,但提供了更大的灵活性和安全性。通过合理配置和同步这两套系统,我们可以让所有应用程序都正确使用代理服务器。

2024-11-24 17:56:47 2671

原创 Linux系统下Git命令行无法访问GitHub的解决方案

在Linux系统中,图形界面的代理设置不会自动应用到命令行环境中。需要手动设置相应的环境变量或Git配置才能使命令行工具正常通过代理访问外网。通过设置环境变量或Git的全局配置,我们可以解决这个问题。选择永久性还是临时性的解决方案,取决于具体的使用场景。

2024-11-24 17:51:03 1859

空空如也

空空如也

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

TA关注的人

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