远鼎操作手册 → Studio 与系统配置

远鼎增强 场景手册 对照官方章节 · 远鼎增强模块

🔧 Studio 与系统配置

无代码定制、自动化与审批流

Odoo 19 企业版 Studio 与系统配置操作手册

适用版本:Odoo 19 Enterprise
涉及模块web_studio(Studio)+ base_automation(自动化规则)+ base_setup(基础设置)
适用角色:系统管理员、Odoo 实施顾问
贯穿场景:定制视图 → 添加字段 → 创建应用 → 设置自动化规则 → 导出模块


模块概述

Studio 能力矩阵

Odoo Studio(无代码定制工具)
├── 视图编辑        ← 修改表单/列表/看板布局
├── 字段管理        ← 添加/修改/删除字段
├── 菜单管理        ← 创建菜单项和顶级应用
├── 自动化规则      ← 触发器+动作的无代码自动化
├── 报表设计        ← 自定义PDF报表模板
├── 审批流程        ← 在按钮上增加审批控制
├── 访问权限        ← 模型/视图级访问控制
└── 模块导出        ← 将定制打包成可部署模块

第一章:Studio 基础操作

1.1 进入 Studio 模式

方法一:顶部右侧 Studio 图标按钮
方法二:Settings → Technical → Studio → 激活(需企业版许可证)

进入 Studio 后,当前页面周围出现蓝色边框,右侧出现 Studio 工具栏。

注意:Studio 操作直接修改数据库定义,建议在测试环境先验证后再应用到生产环境。

1.2 Studio 界面构成

┌───────────────────────────────────────────────────────┐
│  普通应用视图(实时预览)                              │
│                                                         │
│  [字段选择区] ←→ [视图画布] ←→ [属性配置面板]          │
│                                                         │
│  左侧:字段类型面板    右侧:选中元素属性              │
└───────────────────────────────────────────────────────┘

第二章:字段管理

2.1 添加新字段

场景:在客户档案(res.partner)上添加"客户分级"字段

操作步骤

  1. 打开客户列表页(联系人 → 客户)
  2. 点击 Studio 图标进入 Studio 模式
  3. 在表单视图中,点击一个空白区域或"+"添加字段
  4. 从左侧字段类型面板选择"选择"(Selection)字段
  5. 在右侧属性面板配置:
字段名称(技术名):x_customer_level
字段标签(显示名):客户分级
字段类型:选择(Selection)
选项值:
  bronze    → 铜牌客户
  silver    → 银牌客户
  gold      → 金牌客户
  vip       → VIP客户
默认值:bronze
  1. 点击"保存"

2.2 Studio 支持的字段类型

字段类型(中文) 技术类型 使用场景
文本(单行) Char 简短文字(名称、编码)
文本(多行) Text 描述、备注
整数 Integer 数量、计数
小数 Float 重量、精确数值
金额 Monetary 价格、金额(与货币字段配合)
布尔值 Boolean 开关(是/否)
日期 Date 日期(年月日)
日期时间 Datetime 精确时间
选择 Selection 枚举(状态、类型)
多对一 Many2one 关联另一模型的记录
一对多 One2many 子表格(明细行)
多对多 Many2many 标签、多选关联
HTML Html 富文本内容
图片 Binary 图片/附件

2.3 创建自定义模型

场景:需要一个"设备维保记录"功能,现有模块中没有

操作步骤

Studio → 新建应用 → 开始创建

应用名称:设备维保管理
菜单位置:顶级菜单(或挂载到现有菜单下)
模型选项(可多选):
  ☑ 消息功能(use_mail)        ← 支持Chatter
  ☑ 归档功能(use_active)      ← 支持隐藏记录
  ☑ 负责人字段(use_responsible) ← 记录负责人
  ☑ 关联联系人(use_partner)   ← 关联客户/供应商
  ☑ 日期字段(use_date)         ← 维保日期
  ☑ 阶段管理(use_stages)       ← 看板阶段
  ☑ 标签(use_tags)             ← 分类标签
  ☑ 明细子表(lines)            ← 维保明细行

系统自动创建:
- 模型 x_维保记录(技术名 x_device_maintenance
- 看板视图
- 表单视图
- 列表视图
- 顶级菜单"设备维保管理"


第三章:视图编辑

3.1 编辑表单视图

场景:在销售订单表单上添加"销售渠道"字段

  1. 进入销售订单表单
  2. 开启 Studio
  3. 在左侧找到已创建的字段"x_sale_channel"
  4. 拖拽到表单的目标位置
  5. 调整标签和位置
  6. 保存

3.2 视图可编辑元素

元素 操作
字段 添加、移动、隐藏、必填控制
标签 修改显示文字
分隔符/标题 添加视觉分组
按钮 添加智能按钮或自定义动作
选项卡 添加新选项卡、重排序
子表格 修改明细行显示字段

3.3 编辑列表视图

在列表视图开启 Studio:
- 拖拽调整列的顺序
- 增删列(字段)
- 设置默认排序

3.4 编辑看板视图

在看板视图开启 Studio:
- 修改每个卡片显示的字段
- 调整列(阶段)配置
- 设置颜色规则

3.5 编辑搜索视图

在搜索栏旁开启 Studio:
- 添加快速搜索字段
- 添加默认分组选项
- 配置收藏过滤器


第四章:报表设计

4.1 修改 PDF 报表

场景:在销售报价单上增加公司 LOGO 和免责声明

操作路径:Studio → 报表(当前模型的报表列表)

选择报表:报价单(Quotation)
编辑模式:
  ├── 布局:页眉/页脚设置
  ├── 内容:拖拽字段到报表
  └── 样式:字体/颜色/边框

支持的报表元素:
- 文本字段
- 数字字段(带格式)
- 日期字段
- 表格(明细行)
- 图片(公司Logo)
- 二维码/条码

4.2 纸张格式

可设置:A4/Letter/自定义尺寸,横向/纵向,页边距。


第五章:自动化规则(base_automation)

5.1 自动化规则概述

自动化规则 = 触发条件 + 执行动作

操作路径:设置 → 技术 → 自动化规则 → 新建

5.2 触发器类型(全部17种)

记录变更类

触发器 使用场景
创建时 新建记录后立即执行
创建或编辑时 新建或修改后执行(推荐常规使用)
更新时 记录被修改时(已废弃,建议用上一个)
阶段设置为 看板阶段变化时(如:移入"赢单"阶段)
用户被设置 记录被分配给特定用户时
标签被添加 打上特定标签时
状态设置为 状态字段变更时(如:state变为sale)
优先级设置为 优先级变化时
归档时 记录被归档(active→False)
取消归档时 记录被还原时
删除时 记录被删除前

基于时间类

触发器 使用场景
基于日期字段 在某日期字段的前后N天/小时
创建后 记录创建后N天(create_date)
最后更新后 记录更新后N天(write_date)

消息与交互类

触发器 使用场景
收到消息时 记录收到新消息
发送消息时 记录发出消息
UI界面变更时 表单中实时字段变化(仅Python代码)
Webhook触发时 外部HTTP请求触发

5.3 动作类型

动作类型 说明
创建记录 创建关联记录(如:创建活动)
修改记录 更新字段值
执行代码 执行Python代码(高级)
发送邮件 发送邮件通知
发送短信 发送短信(需配置SMS服务)
添加关注者 订阅用户到chatter
创建活动 创建待办活动提醒

5.4 实战场景1:商机逾期提醒

需求:商机预计关闭日期过期2天仍未赢单,自动发邮件提醒销售员

自动化规则配置:
  名称:商机逾期提醒
  模型:CRM商机(crm.lead)
  触发器:基于日期字段
    字段:预计关闭日期(date_deadline)
    延迟:+2天(超过截止日期2天后)
  过滤条件:stage_id.is_won = False(排除已赢单)
  动作:发送邮件
    收件人:负责销售员(user_id)
    模板:商机逾期提醒邮件

5.5 实战场景2:订单确认后自动创建任务

需求:销售订单确认后,自动在"实施项目"中创建"开始实施"任务

自动化规则配置:
  名称:销售订单→自动创建实施任务
  模型:销售订单(sale.order)
  触发器:状态设置为
    状态值:sale(已确认)
  动作:执行Python代码
    代码:
      project = env['project.project'].search([
          ('name', '=', '客户实施项目')
      ], limit=1)
      if project:
          env['project.task'].create({
              'name': f'[{record.name}] 开始实施',
              'project_id': project.id,
              'user_ids': [(6, 0, [record.user_id.id])],
              'date_deadline': record.commitment_date,
          })

5.6 实战场景3:采购订单3天未审批自动升级

自动化规则配置:
  名称:采购订单审批超时升级
  模型:采购订单(purchase.order)
  触发器:基于日期字段
    字段:提交日期(date_approve)
    延迟:+3天
  过滤条件:state = draft(仍在草稿/待审批)
  动作:
    1. 发送邮件给采购总监
    2. 创建活动:分配给采购总监,提醒审批

第六章:审批流程(Studio Approval)

6.1 在按钮上添加审批

场景:销售订单确认按钮,需要销售经理审批

操作路径:Studio → 打开销售订单表单 → 选中"确认"按钮 → 右侧属性 → "添加审批"

审批配置:
  审批人:销售经理(用户组)
  可拒绝:☑
  拒绝后状态:保持当前状态(不执行原按钮动作)
  审批消息:请说明审批原因

审批流程
1. 销售员点击"确认"→ 弹出请求审批对话框
2. 销售经理在系统看到待审批通知
3. 审批通过:订单自动确认
4. 审批拒绝:订单保持草稿,销售员收到通知


第七章:系统基础配置

7.1 公司信息配置

操作路径:设置 → 通用设置 → 公司

公司名称:明星科技有限公司
税务号:91310000XXXXXXXXXX
地址:上海市松江区XXXXX
LOGO:上传公司Logo(显示在报表/邮件中)
货币:CNY(人民币)
语言:简体中文(zh_CN)
时区:亚洲/上海

7.2 邮件服务器配置

操作路径:设置 → 技术 → 邮件 → 发送服务器

服务器名称:企业邮件服务器
SMTP服务器:smtp.mxtech.com.cn
端口:465(SSL)或587(TLS/STARTTLS)
用户名:no-reply@mxtech.com.cn
密码:(SMTP密码)

测试连接 → 成功后保存

7.3 用户与权限管理

操作路径:设置 → 用户与公司 → 用户

角色权限级别

级别 说明
内部用户 可登录 Odoo 后台,可用已分配应用
门户用户 仅能访问门户(客户自助服务)
公开用户 网站访客

模块内权限组示例(销售)
- 销售/用户:仅能看到自己的商机和订单
- 销售/经理:可看到所有销售数据,可审批

7.4 多公司配置

操作路径:设置 → 用户与公司 → 公司

启用多公司:允许用户在多个公司间切换(顶部菜单)
公司间规则:
  ├── 共享联系人(res.partner)
  ├── 独立账套(各公司账套分离)
  └── 共享产品目录(可配置)

7.5 计划任务(ir.cron)

操作路径:设置 → 技术 → 计划动作

常见系统计划任务:

任务名称 频率 说明
发送计划活动提醒 每天 提醒即将到期的活动
账龄分析更新 每天 更新账龄报告数据
自动评估汇率 每天 从汇率服务获取最新汇率
自动补货规则运行 每天 执行最小库存补货规则
制造订单可用性检查 每天 检查原材料可用性
营销自动化活动执行 每小时 执行自动化营销触发器

第八章:导出 Studio 自定义模块

8.1 为什么需要导出

  • 从测试环境迁移到生产环境
  • 版本管理(使用 Git 管理)
  • 与其他 Odoo 实例共享

8.2 导出操作

操作路径:Studio → "导出"按钮

模块名称(技术名):mxtech_custom
模块标题:明星科技自定义配置
版本:1.0.0
作者:明星科技信息部

导出内容选择:
  ☑ 所有 Studio 自定义内容(字段、视图、菜单)
  ☑ 自动化规则
  ☑ 访问权限
  ☑ 审批规则

导出格式:.zip(包含 __manifest__.py 和 Python/XML 文件)

8.3 安装导出的模块

# 将 zip 解压到 custom_addons 目录
# 然后升级 Odoo
./odoo-bin -c odoo.conf -u mxtech_custom

附录:Studio 快捷键

操作 说明
点击字段 选中并显示属性
拖拽字段 移动到新位置
Escape 退出 Studio 模式
Ctrl+Z 撤销上一步操作

附录:自动化规则触发器速查

触发器值 中文名
on_create 创建时
on_create_or_write 创建或编辑时
on_write 更新时(已废弃)
on_stage_set 阶段设置为
on_user_set 用户被设置
on_tag_set 标签被添加
on_state_set 状态设置为
on_priority_set 优先级设置为
on_archive 归档时
on_unarchive 取消归档时
on_unlink 删除时
on_change UI界面变更时
on_time 基于日期字段
on_time_created 创建后N天
on_time_updated 最后更新后N天
on_message_received 收到消息时
on_message_sent 发送消息时
on_webhook Webhook触发时

文档版本:Odoo 19 Enterprise | 更新日期:2026-03-04