snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 3s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
---
title: 日历视图
description: 在日历上显示带有日期字段的记录。
---
## 关于日历视图
日历视图会根据某个日期字段在日历上显示您的记录。 每条记录会在相应日期显示为一个事件。
<img src="/images/user-guide/views/calendar-view-zoom.png" style={{width:'100%'}} />
## 创建日历视图
1. 导航到包含日期字段的对象
2. 单击视图下拉菜单 → **+ 添加视图**
3. 命名您的视图并点击 **创建**
4. 打开右侧的 **选项**
5. 选择 **日历** 作为布局
6. 选择用于定位记录的 **日期字段**
7. 单击 **更新视图**
## 配置日历
### 选择日期字段
在 **选项** 中,选择决定记录在日历上显示位置的日期字段。
### 显示字段
配置每个日历事件上显示的字段:
1. 单击 **选项 → 字段**
2. 切换字段开/关
3. 拖动以重新排序
## 使用场景
* **会议和通话**:查看即将到来的预约
* **截止日期**:跟踪到期日期和关闭日期
* **事件**:规划并可视化已安排的活动
* **跟进**:查看任务的到期时间
## 相关内容
* [视图概览](/l/zh/user-guide/views-pipelines/overview) — 创建和管理视图
* [筛选与排序](/l/zh/user-guide/views-pipelines/capabilities/filters-and-sorting) — 筛选日历数据

View File

@@ -0,0 +1,52 @@
---
title: 字段与列
description: 选择要显示的字段,并决定如何组织它们。
---
## 选择要显示的字段
每个视图都可以显示不同的字段集。 自定义可见内容,以专注于关键信息。
### 显示或隐藏字段
1. 点击右上角的 **选项**
2. 点击 **字段**
3. 点击每个字段旁的 **眼睛图标** 以显示或隐藏它
### 重新排序字段
更改字段在视图中的显示顺序:
1. 点击 **选项 → 字段**
2. 上下拖动字段
3. 更改会自动保存
## 按视图类型显示字段
### 表视图
* 字段显示为列
* 通过拖动边框调整列宽
### 看板视图
* 字段显示在卡片上
* 通过选项 → 字段重新排序
* 使用紧凑视图隐藏所有字段
### 日历视图
* 在日历事件中显示所选字段
* 通过选项 → 字段进行配置
## 最佳实践
* **只显示需要的内容** — 太多字段打乱视图
* **将重要字段放在前面** — 最常用的列放在左侧
* **创建多个视图** — 针对不同目的使用不同的字段集
* **按视图设置字段可见性** — 同一对象,不同侧重
## 相关内容
* [表格视图](/l/zh/user-guide/views-pipelines/capabilities/table-views) — 列表视图功能
* [看板视图](/l/zh/user-guide/views-pipelines/capabilities/kanban-views) — 基于卡片的视图

View File

@@ -0,0 +1,78 @@
---
title: 过滤与排序
description: 过滤并排序记录,以准确找到您需要的内容。
---
## 过滤数据
过滤器通过仅显示符合您条件的记录,帮助您专注于特定记录。
### 添加过滤器
1. 点击工具栏中的 **过滤** 按钮
2. 选择用于过滤的字段
3. 选择运算符(等于、包含等)
4. 输入过滤条件的值
5. 点击 **应用**
### 过滤运算符
| 字段类型 | 可用的运算符 |
| ---- | ------------------ |
| 文本 | 等于、包含、以…开头、以…结尾、为空 |
| 数字 | 等于、大于、小于、为空 |
| 日期 | 等于、早于、晚于、为空 |
| 选择 | 等于、属于以下任一、为空 |
| 复选框 | 为真、为假 |
| 关系 | 等于、为空 |
### 多个过滤器
组合多个过滤器以缩小结果范围:
* 所有过滤器均按 AND 逻辑应用
* 每个额外的过滤器都会进一步限制结果
### 移除过滤器
* 点击单个过滤条件标签上的 **X**
* 点击 **全部清除** 以移除所有过滤器
## 排序数据
排序决定记录的显示顺序。
### 添加排序
1. 点击工具栏中的 **排序** 按钮
2. 选择用于排序的字段
3. 选择升序(A-Z、0-9)或降序(Z-A、9-0)
4. 点击 **应用**
### 多级排序
添加多个排序级别:
* 第一个排序为主排序
* 后续排序在相同值的分组内应用
### 快速列排序
单击任意列标题进行排序:
* 第一次点击:升序
* 第二次点击:降序
* 第三次点击:移除排序
## 保存过滤与排序设置
过滤与排序会随视图保存:
1. 配置您的过滤与排序
2. 点击 **保存** 以更新当前视图
3. 或点击 **另存为新视图** 以创建一个变体
## 相关内容
* [表格视图](/l/zh/user-guide/views-pipelines/capabilities/table-views) — 分组功能
* [视图概览](/l/zh/user-guide/views-pipelines/overview) — 创建和管理视图

View File

@@ -0,0 +1,98 @@
---
title: 看板视图
description: 了解如何使用看板视图来可视化并管理您的工作流。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 关于看板视图
看板视图以视觉方式映射出处理流程,其中每个列代表一个不同阶段,每个卡片代表一个记录。
## 在阶段间移动卡片
在工作流推进过程中,您可以点击并按住卡片,然后将其拖动到下一阶段,从而在阶段之间移动每张卡片。
<VimeoEmbed videoId="927888627" title="视频演示" />
## 添加和删除阶段
您可以使用阶段来定制工作流以满足您的需求,每个阶段都代表选择字段中的一个值:
### 添加阶段
要添加阶段,请前往 设置 > 数据模型,选择您的对象,然后选择看板所依赖的字段,进入选择字段设置。
<VimeoEmbed videoId="927890428" title="视频演示" />
### 移除阶段
要删除阶段,悬停在阶段名称或 `⋮` 图标上,单击选择字段设置中的 `从设置编辑`,然后在相关阶段旁边单击 **删除**。
## 显示字段
您可以配置看板板以显示一些字段并隐藏其他字段。 要显示或隐藏字段,请点击右上角的 **选项**,然后点击 **字段** 以打开选项列表,再点击字段旁边的眼睛图标以显示或隐藏该字段。
您还可以通过按住字段名称并将其拖到所需位置来重新排列字段顺序。
<img src="/images/user-guide/kanban-views/filter.png" style={{width:'100%'}} />
## 紧凑视图
您可以隐藏所有字段,从而一目了然地总览所有记录。 启用方法:
1. 单击右上角的 **选项**
2. 打开 **紧凑视图** 开关
<img src="/images/user-guide/kanban-views/compact-view.png" style={{width:'100%'}} />
## 列聚合
看板视图中的每一列都可以在顶部显示聚合值,帮助您一目了然地了解数据。
### 可用的聚合
| 聚合 | 描述 |
| ------ | ---------------- |
| **计数** | 该列中的记录数量 |
| **总和** | 数值字段的总计(例如,交易金额) |
| **平均** | 数值字段的平均值 |
| **最小** | 最小值 |
| **最大** | 最大值 |
### 配置聚合
1. 单击列顶部显示在阶段值旁边的数字
2. 选择聚合类型
3. 选择要聚合的字段
**示例:** 通过对 Amount 字段进行求和,显示每个阶段的交易总金额。
## 何时使用看板视图
看板视图非常适用于:
* **销售管道**:从线索到成交,按阶段跟踪交易
* **项目管理**:按工作流状态监控任务
* **招聘**:按招聘阶段跟踪候选人
* **任何分阶段的流程**:以可视化方式呈现具有已定义阶段的任何工作流
## 最佳实践
### 组织您的阶段
* **限制阶段数量**:以 5–7 个阶段为宜
* **命名清晰**:使用具有描述性的阶段名称
* **逻辑顺序**:按流程顺序排列阶段
### 优化卡片显示
* **显示关键字段**:只显示最重要的信息
* **使用紧凑视图**:用于高层级概览
* **颜色编码**:使用阶段颜色快速识别状态
### 保持数据质量
* **定期更新**:让卡片在各阶段持续流转
* **归档已完成项**:将已关闭的条目移出活动视图
* **检查滞留卡片**:跟进停留在某个阶段的卡片

View File

@@ -0,0 +1,64 @@
---
title: 表视图
description: 以类似电子表格的列表格式显示您的数据。
---
## 关于表视图
表格视图以行显示记录,并带有可自定义的列——类似电子表格。 这是大多数对象的默认视图类型。
<img src="/images/user-guide/table-views/table-view.png" style={{width:'100%'}} />
## 功能
### 列配置
* 显示或隐藏列(字段)
* 调整列宽
* 通过拖动重新排序列
### 按 Select 字段分组
根据 Select 类型的字段将记录组织为可折叠的分组。
<img src="/images/user-guide/table-views/table-group-by.png" style={{width:'100%'}} />
1. 单击 **选项**
2. 选择 **分组**
3. 选择一个 Select 字段
4. 在 **选项 → 分组 → 排序** 下配置分组顺序:
* **字母顺序** 或 **反向字母顺序**
* **手动排序**:在 "可见分组" 下拖动分组以重新排序
* 单击分组旁的 **眼睛图标** 以将其隐藏
**使用场景:**
* 按类型对公司分组
* 按阶段对商机分组
* 按状态对任务分组
<Note>
**为获得最佳性能,请将每个视图的可见分组限制在 10-15 个。** 如果需要更多分组,建议改用仪表板。
</Note>
### 列宽
调整列宽以显示更多或更少的内容:
1. 将鼠标悬停在两个列标题之间
2. 单击并拖动列边框
3. 松开以设置新宽度
## 何时使用表格视图
表格视图最适用于:
* **浏览大型数据集** — 快速扫描大量记录
* **数据录入** — 高效编辑多条记录
* **详细分析** — 同时查看多个字段
* **排序与筛选** — 查找特定记录
## 相关内容
* [字段和列](/l/zh/user-guide/views-pipelines/capabilities/fields-and-columns) — 配置要显示的字段
* [筛选与排序](/l/zh/user-guide/views-pipelines/capabilities/filters-and-sorting) — 缩小记录范围

View File

@@ -0,0 +1,74 @@
---
title: 视图设置
description: 管理视图的可见性、命名、图标和组织方式。
---
## 视图可见性
控制谁可以查看您的自定义视图。
### 可见性选项
| 设置 | 谁可以查看 |
| ------- | ------- |
| **工作区** | 所有工作区成员 |
| **未列出** | 仅您 |
### 更改可见性
1. 打开该视图
2. 单击 **选项 → 可见性**
3. 选择 **工作区** 或 **未列出**
<Note>
默认的 "All [Object Name]" 视图无法更改其可见性。
</Note>
## 重命名视图
1. 打开视图下拉菜单
2. 单击视图旁的 **⋮** 菜单
3. 选择 **编辑**
4. 输入新名称
## 更改视图图标
1. 打开视图下拉菜单
2. 单击视图旁的 **⋮** 菜单
3. 选择 **编辑**
4. 单击图标以更改
## 调整视图顺序
更改视图在下拉菜单中的显示顺序:
1. 打开视图下拉菜单
2. 通过手柄拖动视图
3. 放置到所需位置
4. 顺序会自动保存
## 喜欢视图
固定常用视图以便快速访问:
1. 打开视图下拉菜单
2. 单击某个视图旁的 **⋮** 菜单
3. 选择 **添加到收藏夹**
已收藏的视图会显示在专门的区域,便于快速访问。
## 删除视图
1. 打开视图下拉菜单
2. 单击视图旁的 **⋮** 菜单
3. 选择 **删除**
4. 确认删除
<Warning>
已删除的视图无法恢复。
</Warning>
## 相关内容
* [视图概览](/l/zh/user-guide/views-pipelines/overview) — 创建视图
* [如何限制访问](/l/zh/user-guide/views-pipelines/how-tos/restrict-access-to-your-view) — 分步指南

View File

@@ -0,0 +1,61 @@
---
title: 为到期任务创建日历视图
description: 在日历上直观展示你的任务和截止日期。
---
<img src="/images/user-guide/views/calendar-view-zoom.png" style={{width:'100%'}} />
## 先决条件
你的 Tasks 对象需要一个 **Due Date** 字段(Date 或 Date & Time 类型)。
## 步骤
1. 导航到 **Tasks**
2. 单击视图下拉菜单 → **+ 添加视图**
3. 为视图命名(例如:“任务日历”)
4. 单击 **创建**
5. 单击 **选项**,并选择 **日历** 作为布局
6. 选择 **Due Date** 作为日期字段
7. 单击 **保存**
## 配置日历
### 在事件中显示字段
1. 单击 **选项 → 字段**
2. 单击 **眼睛图标** 以显示/隐藏字段
3. 拖动以重新排序
建议显示的字段:
* **Title** — 任务名称
* **Assignee** — 负责人
* **Status** — 当前进度
### 筛选日历
创建聚焦视图:
* **My Tasks**:按 Assignee = Me 筛选
* **本周**:按到期日期筛选 = 本周
* **逾期**:按到期日期筛选 < 今天,状态 ≠ 已完成
## 其他日历使用场景
| 对象 | 日期字段 | 目的 |
| ----- | ---- | -------- |
| 机会 | 关闭日期 | 跟踪预计关闭时间 |
| 自定义事件 | 事件日期 | 规划活动 |
| 项目 | 截止日期 | 监控项目时间线 |
## 提示
* **每周回顾**:每周开始时先检查您的日历视图
* **与表格视图结合**:使用日历查看概览,用表格查看详细信息
* **设置可见性**:将个人任务日历设为未列出
## 相关内容
* [日历视图](/l/zh/user-guide/views-pipelines/capabilities/calendar-view) — 所有日历功能
* [筛选与排序](/l/zh/user-guide/views-pipelines/capabilities/filters-and-sorting) — 筛选您的日历

View File

@@ -0,0 +1,80 @@
---
title: 为项目创建看板视图
description: 使用可视化看板按阶段跟踪项目。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
使用看板视图将您的项目(或任何具有阶段的对象)可视化为在列间移动的卡片。
<VimeoEmbed videoId="927888627" title="视频演示" />
## 先决条件
您的对象需要一个用作列的 **选择字段**(例如:状态、阶段、环节)。
如果您还没有:
1. 进入 **设置 → 数据模型**
2. 选择你的对象
3. 添加一个包含阶段选项的选择字段
## 步骤
1. 导航到您的对象(例如:项目、任务)
2. 单击视图下拉菜单 → **+ 添加视图**
3. 为视图命名(例如:“项目看板”)
4. 单击 **创建**
5. 单击 **选项**,并选择 **看板** 作为布局
6. 该视图会自动使用您的选择字段作为列
7. 单击 **保存**
## 配置您的看板
### 在卡片上显示关键字段
1. 点击 **选项 → 字段**
2. 在 "隐藏字段" 部分查找字段
3. 单击 **眼睛图标** 以在卡片上显示它们
4. 拖动以重新排序
<img src="/images/user-guide/kanban-views/filter.png" style={{width:'100%'}} />
### 启用紧凑视图
用于高层概览:
1. 单击 **选项**
2. 开启 **紧凑视图**
卡片仅显示记录名称。
<img src="/images/user-guide/kanban-views/compact-view.png" style={{width:'100%'}} />
### 添加聚合
在每列顶部显示计数或总计:
1. 单击列名旁边的数字
2. 选择一种聚合(计数、求和等)
3. 如有需要,选择一个字段
## 移动卡片
在列之间拖放卡片以更新其状态。
<VimeoEmbed videoId="927888627" title="视频演示" />
## 示例:任务看板
| 列(状态) | 卡片 |
| ------- | ------ |
| **待办** | 新任务 |
| **进行中** | 进行中的工作 |
| **审核** | 等待批准 |
| **已完成** | 已完成 |
## 相关内容
* [看板视图](/l/zh/user-guide/views-pipelines/capabilities/kanban-views) — 聚合、紧凑视图、阶段
* [如何设置销售管道](/l/zh/user-guide/views-pipelines/how-tos/set-up-a-sales-pipeline) — 用于商机的看板

View File

@@ -0,0 +1,51 @@
---
title: 创建带分组的表格视图
description: 按字段值将记录组织为可折叠的分组。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
使用 Select 字段对表格视图进行分组,将记录组织到可折叠的部分。
<img src="/images/user-guide/table-views/table-group-by.png" style={{width:'100%'}} />
## 步骤
1. 导航到对象(人员、公司等)
2. 单击视图下拉菜单 → **+ 添加视图**
3. 为视图命名(例如:“按类型的公司”)
4. 单击 **创建**
5. 单击 **选项 → 分组**
6. 选择一个 Select 字段进行分组
7. 单击 **保存**
## 配置分组顺序
在 **选项 → 分组 → 排序** 下,选择分组的排序方式:
| 选项 | 描述 |
| --------- | ----------------- |
| **按字母顺序** | A 到 Z |
| **逆字母顺序** | Z 到 A |
| **手动排序** | 在“可见分组”下拖动分组以重新排序 |
单击组旁的 **眼睛图标**,将其从视图中隐藏。
<Note>
**为获得最佳性能,请将可见分组限制在 10-15 个。** 如果需要更多,建议改用仪表板。
</Note>
## 示例:按行业分类的公司
1. 前往 **公司**
2. 创建一个名为“按行业”的新视图
3. 单击 **选项 → 分组**
4. 选择 **行业** 字段
5. 保存
现在,您的公司已按行业组织,便于一次专注于一个细分市场。
## 相关内容
* [表格视图](/l/zh/user-guide/views-pipelines/capabilities/table-views) — 所有表格视图功能
* [筛选和排序](/l/zh/user-guide/views-pipelines/capabilities/filters-and-sorting) — 将分组与筛选结合使用

View File

@@ -0,0 +1,32 @@
---
title: 限制对您的视图的访问
description: 控制谁可以查看你的自定义视图。
---
每个视图(默认的 "All [Object Name]" 视图除外)都有其自己的可见性设置。
## 步骤
1. 打开你想要限制的视图
2. 点击右上角的 **选项**
3. 点击 **可见性**
4. 选择 **未列出**
你的视图现在仅对你可见。
## 可见性选项
| 设置 | 谁可以查看 |
| ------- | ------- |
| **工作区** | 所有工作区成员 |
| **未列出** | 仅你 |
## 备注
* 默认的 "All [Object Name]" 视图无法设为未列出
* 未列出的视图不会出现在其他用户的视图下拉菜单中
* 你可以随时将可见性改回工作区
## 相关
* [视图设置](/l/zh/user-guide/views-pipelines/capabilities/view-settings) — 所有视图配置选项

View File

@@ -0,0 +1,120 @@
---
title: 设置销售管道
description: 配置您的销售管道,以通过各个阶段跟踪机会。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
在 Twenty 中,销售管道是您的机会对象的看板视图,其中每一列代表销售流程中的一个阶段。
## 步骤 1:配置您的阶段
阶段在“机会”对象的 **Stage** 字段中定义。
1. 进入 **设置 → 数据模型**
2. 选择 **机会**
3. 找到并单击 **Stage** 字段
4. 添加、删除或重命名阶段以匹配您的流程
<VimeoEmbed videoId="927890428" title="视频演示" />
### 推荐阶段
| 阶段 | 目的 |
| ------ | -------- |
| **新** | 刚识别出的新机会 |
| **合格** | 已确认契合良好 |
| **会议** | 已展开讨论 |
| **提案** | 已发送提案 |
| **谈判** | 正在协商条款 |
| **赢单** | 交易成功 |
| **丢单** | 交易失败 |
<Note>
**5-7个阶段是最佳的。** 太多的阶段使管道难以扫描;在交易进度中失去可见度太少。
</Note>
## 步骤 2:创建管道视图
1. 前往 **机会**
2. 单击视图下拉菜单 → **+ 添加视图**
3. 将其命名为 "销售管道"
4. 单击 **创建**
5. 打开 **选项**,并选择 **看板** 作为布局
该视图会自动使用 Stage 字段作为列。
## 步骤 3:配置您的视图
### 显示关键字段
1. 单击 **选项 → 字段**
2. 在 "隐藏字段" 部分查找字段
3. 单击 **眼睛图标** 以显示:Company、Amount、Close Date、Owner
### 启用聚合
在每列顶部显示总计:
1. 单击列顶部显示在某个 Stage 名称旁边的数字
2. 选择聚合类型(计数、求和、平均值等)
3. 选择要聚合的字段(例如,Amount)
**示例:** 通过对 Amount 字段进行求和,显示每个阶段的交易总金额。
### 使用紧凑视图(可选)
若需以更少卡片内容获得高层次概览:
1. 单击 **选项**
2. 打开 **紧凑视图** 开关
## 步骤 4:创建个人和团队视图
### "我的管道"
* **筛选**:Owner = Me
* **可见性**:未列出(个人视图)
### "团队管道"
* **筛选**:无(显示全部)
* **可见性**:工作区(共享视图)
### "本月关闭"
* **类型**:表格
* **筛选**:Close Date = This month,Stage ≠ Closed Won,Stage ≠ Closed Lost
* **排序**:Close Date 升序
## 处理机会
### 创建机会
* 在“机会”视图中单击 **+ 新建**
* 或在特定阶段的列中单击 **+**
### 在各阶段间移动
在列之间拖放机会卡片以更新其阶段。
<VimeoEmbed videoId="927888627" title="视频演示" />
## 最佳实践
### 管道卫生
* 随进展每日更新交易
* 及时移动或关闭停滞的交易
* 确保关闭日期切合实际
### 阶段纪律
* 为每个阶段定义清晰的判定标准
* 当满足标准时及时移动交易
* 不要让交易在阶段中停留过久
## 相关内容
* [看板视图](/l/zh/user-guide/views-pipelines/capabilities/kanban-views) — 聚合与紧凑视图
* [筛选与排序](/l/zh/user-guide/views-pipelines/capabilities/filters-and-sorting) — 创建筛选视图

View File

@@ -0,0 +1,149 @@
---
title: 在您的销售管道中显示预期金额
description: 根据阶段概率计算并显示加权交易金额。
---
预期金额是一个计算值:**Amount × Probability**。 这有助于根据成交可能性为交易加权,从而预测收入。
<Tip>
这是使用工作流创建[公式字段](/l/zh/user-guide/workflows/how-tos/crm-automations/formula-fields)的示例。
</Tip>
本指南将引导您设置在管道中计算并显示预期金额所需的自定义字段和工作流。
## 步骤 1:创建自定义字段
您需要在商机对象上创建两个自定义字段。
### 创建 Probability 字段
1. 前往 **设置 → 数据模型 → 商机**
2. 点击 **+ 添加字段**
3. 配置:
* **名称**:Probability
* **类型**:数字
* **描述**:基于阶段的概率(0–100%)
4. 单击 **保存**
### 创建 Expected Amount 字段
1. 点击 **+ 添加字段**
2. 配置:
* **名称**:Expected Amount
* **类型**:货币
* **描述**:计算值:Amount × Probability
3. 单击 **保存**
### 可选:将字段设置为对用户只读
如果您不希望用户手动编辑这些计算字段:
1. 转到 **设置 → 成员 → 角色**
2. 选择要配置的角色
3. 找到商机对象
4. 将 **Probability** 和 **Expected Amount** 字段设为只读
这可确保只有工作流可以更新这些值。
## 步骤 2:创建工作流 #1 — 阶段变更时更新 Probability
当商机进入新阶段时,此工作流会自动设置 Probability。
### 创建工作流
1. 前往 **工作流**
2. 点击 **+ 新建工作流**
3. 将其命名为 "Update Probability on Stage Change"
### 配置触发器
1. 添加一个 **Record Created or Updated** 触发器
2. 选择 **Opportunities** 作为对象
3. 筛选条件:**Stage** 字段已更新
### 为每个阶段添加分支
为每个阶段创建一个分支,并设置相应的概率:
| 阶段 | 概率 |
| ------- | ---- |
| 新 | 10% |
| 合格 | 25% |
| 会议 | 40% |
| 提案 | 60% |
| 谈判 | 80% |
| 已成交(赢单) | 100% |
| 已关闭(丢单) | 0% |
<Note>
要创建新分支,在工作流画布上单击右键,然后点击 **新建操作**。 然后,从上一个节点拖动箭头到此新操作,将其与前一个节点连接。
</Note>
对于每个阶段:
1. 添加一个 **筛选** 节点:Stage = [阶段名称]
2. 添加一个 **更新记录** 操作:
* 记录:触发的商机
* 字段:Probability
* 值:[该阶段的概率]
### 计算 Expected Amount
在分支汇合之后:
1. 添加一个 **筛选** 节点:Amount 不为空
2. 添加一个 **更新记录** 操作:
* 记录:触发的商机
* 字段:Expected Amount
* 值:Amount × Probability
## 步骤 3:创建工作流 #2 — 当 Amount 发生变化时重新计算
当交易的 Amount 更改时,此工作流会更新 Expected Amount。
### 创建工作流
1. 前往 **工作流**
2. 点击 **+ 新建工作流**
3. 将其命名为 "Recalculate Expected Amount on Amount Change"
### 配置触发器
1. 添加一个 **Record Created or Updated** 触发器
2. 选择 **Opportunities** 作为对象
3. 筛选条件:**Amount** 字段已更新
### 添加逻辑
1. 添加一个 **筛选** 节点:Amount 不为空
2. 添加一个 **更新记录** 操作:
* 记录:触发的商机
* 字段:Expected Amount
* 值:Amount × Probability
## 步骤 4:在您的管道中显示
现在在看板视图中显示 Expected Amount 的总计:
1. 打开您的 **销售管道** 看板视图
2. 点击列顶部任一阶段名称旁的**数字**
3. 选择 **求和**
4. 选择 **Expected Amount**
现在,每列都会显示该阶段的加权管道总值。
## 摘要
| 组件 | 用途 |
| ---------------------- | ------------------------------------------------ |
| **Probability 字段** | 存储基于阶段的赢单概率 |
| **Expected Amount 字段** | 存储 Amount × Probability |
| **工作流 #1** | 当 Stage 变化时更新 Probability,然后重新计算 Expected Amount |
| **工作流 #2** | 当 Amount 变化时重新计算 Expected Amount |
| **聚合** | 按阶段显示 Expected Amount 的求和 |
## 相关内容
* [公式字段](/l/zh/user-guide/workflows/how-tos/crm-automations/formula-fields) — 使用工作流创建计算字段
* [看板视图](/l/zh/user-guide/views-pipelines/capabilities/kanban-views) — 列聚合
* [如何创建自定义字段](/l/zh/user-guide/data-model/how-tos/create-custom-fields) — 字段配置

View File

@@ -0,0 +1,231 @@
---
title: 跟踪商机在各阶段停留的时长
description: 通过跟踪商机进入各阶段的时间来监控交易速度。
---
<Tip>
这是一个使用工作流创建[公式字段](/l/zh/user-guide/workflows/how-tos/crm-automations/formula-fields)的示例——具体为日期计算。
</Tip>
跟踪商机进入各阶段的时间有助于识别瓶颈并衡量交易速度。
本指南将引导你设置自定义字段和一个工作流,以自动记录商机进入各阶段的时间,并计算其在上一个阶段停留的天数。
## 步骤 1:创建自定义字段
每个阶段需要两种字段:
* **日期与时间字段**:记录商机进入各阶段的时间
* **数字字段**:存储商机在各阶段停留的天数
### 创建“最近进入”字段
1. 进入 **设置 → 数据模型 → 商机**
2. 针对每个阶段,点击 **+ 添加字段** 并进行配置:
* **名称**:最近进入[阶段名称](例如:"最近进入 新建"、"最近进入 已合格")
* **类型**:日期与时间
* **描述**:商机进入此阶段的时间戳
3. 单击 **保存**
创建以下字段:
* 最近进入 新建
* 最近进入 已合格
* 最近进入 会面
* 最近进入 提案
* 最近进入 谈判
* 最近进入 赢单
* 最近进入 输单
### 创建“阶段停留天数”字段
1. 针对每个阶段,点击 **+ 添加字段** 并进行配置:
* **名称**:[阶段名称]停留天数(例如:"新建停留天数"、"已合格停留天数")
* **类型**:数字
* **描述**:在此阶段停留的天数
2. 单击 **保存**
创建以下字段:
* 新建停留天数
* 已合格停留天数
* 会面停留天数
* 提案停留天数
* 谈判停留天数
<Note>
赢单和输单为最终阶段,因此无需创建“停留天数”字段。
</Note>
### 可选:将字段设为只读
如果不希望用户手动编辑这些计算字段:
1. 转到 **设置 → 成员 → 角色**
2. 选择要配置的角色
3. 找到商机对象
4. 将“最近进入”和“停留天数”字段设置为只读
## 步骤 2:创建工作流
此单个工作流同时处理两项任务:
* 记录进入新阶段的时间戳
* 计算在上一个阶段停留的天数
### 创建工作流
1. 进入 **工作流**
2. 点击 **+ 新建工作流**
3. 命名为"跟踪阶段时长"
### 配置触发器
1. 添加一个**记录已更新**触发器
2. 将对象选择为**商机**
3. 筛选条件:**阶段**字段已更新
### 为每个阶段添加分支
<Note>
要创建新分支,在工作流画布上右键点击并选择 **新建操作**。 然后,从上一个节点拖动箭头到此新操作,将其与上一个节点连接。
</Note>
---
**分支 1:阶段 = 新建(第一阶段)**
由于这是第一个阶段,只会记录进入时间戳——没有前一个阶段可用于计算。
1. 添加一个**筛选**节点:阶段 = 新建
2. 添加一个**代码**操作:
```javascript
export const main = async (): Promise<object> => {
return { now: new Date().toISOString() };
};
```
3. 添加一个**更新记录**操作:
* 记录:触发的商机
* 字段:最近进入 新建
* 值:来自代码节点的`now`
---
**分支 2:阶段 = 已合格**
当进入“已合格”阶段时,同时记录进入时间并计算在“新建”阶段停留的天数。
1. 添加一个**筛选**节点:阶段 = 已合格
2. 添加一个**代码**操作:
```javascript
export const main = async (params: {
lastEnteredPreviousStage: Date;
}): Promise<object> => {
const { lastEnteredPreviousStage } = params;
const now = new Date();
const entryDate = new Date(lastEnteredPreviousStage);
const diffTime = Math.abs(now.getTime() - entryDate.getTime());
const daysInPreviousStage = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
return {
now: now.toISOString(),
daysInPreviousStage: daysInPreviousStage
};
};
```
3. 配置代码节点输入:将`lastEnteredPreviousStage`映射到**最近进入 新建**字段
4. 添加一个**更新记录**操作:
* 记录:触发的商机
* 要更新的字段:
* 最近进入 已合格 = `now`
* 新建停留天数 = `daysInPreviousStage`
---
**分支 3:阶段 = 会面**
当进入“会面”阶段时,同时记录进入时间并计算在“已合格”阶段停留的天数。
1. 添加一个**筛选**节点:阶段 = 会面
2. 添加一个**代码**操作:
```javascript
export const main = async (params: {
lastEnteredPreviousStage: Date;
}): Promise<object> => {
const { lastEnteredPreviousStage } = params;
const now = new Date();
const entryDate = new Date(lastEnteredPreviousStage);
const diffTime = Math.abs(now.getTime() - entryDate.getTime());
const daysInPreviousStage = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
return {
now: now.toISOString(),
daysInPreviousStage: daysInPreviousStage
};
};
```
3. 配置代码节点输入:将`lastEnteredPreviousStage`映射到**最近进入 已合格**字段
4. 添加一个**更新记录**操作:
* 记录:触发的商机
* 要更新的字段:
* 最近进入 会面 = `now`
* 已合格停留天数 = `daysInPreviousStage`
---
**对剩余阶段继续如下操作:**
| 阶段 | 记录 | 计算 |
| -- | ------- | ------ |
| 提案 | 最近进入 提案 | 会面停留天数 |
| 谈判 | 最近进入 谈判 | 提案停留天数 |
| 赢单 | 最近进入 赢单 | 谈判停留天数 |
| 输单 | 最近进入 输单 | 谈判停留天数 |
各分支无需合并——当满足其阶段条件时,各自独立运行。
## 步骤 3:分析阶段时长
在记录了时间戳和天数后,你现在可以分析交易速度。
### 创建“慢速交易”视图
1. 创建商机的表格视图
2. 添加列:名称、阶段、[上一阶段]停留天数、金额
3. 按“停留天数”字段排序(降序)
4. 按阶段筛选,以便一次专注一个阶段
位于顶部的交易在上一阶段停留时间最长。
### 使用汇总
在你的销售管道看板视图中:
1. 点击阶段名称旁的数字
2. 选择**平均值**
3. 选择一个“停留天数”字段
即可显示交易在各阶段的平均停留时间。
## 摘要
| 组件 | 用途 |
| ------------ | ------------- |
| **“最近进入”字段** | 存储商机进入各阶段的时间 |
| **“停留天数”字段** | 存储在各阶段停留的天数 |
| **工作流** | 一次性记录时间戳并计算天数 |
| **视图与汇总** | 分析交易速度并识别瓶颈 |
## 相关内容
* [工作流](/l/zh/user-guide/workflows/overview) — 自动化基础
* [如何创建自定义字段](/l/zh/user-guide/data-model/how-tos/create-custom-fields) — 字段配置
* [看板视图](/l/zh/user-guide/views-pipelines/capabilities/kanban-views) — 汇总

View File

@@ -0,0 +1,132 @@
---
title: 视图与管道
description: 了解如何在 Twenty 中创建和管理视图。
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## 了解视图
视图是已保存的配置,用于决定数据的显示方式。 每个视图都可以有:
* **布局**:表格、看板或日历
* **筛选器**:显示哪些记录
* **排序**:记录的排序方式
* **字段**:哪些列可见
## 视图类型
### 表视图
默认的类似电子表格的视图,以行显示记录,并可自定义列。
### 看板视图
记录以卡片形式按阶段组织显示的可视化看板视图。 适用于:
* 销售管道
* 项目跟踪
* 任何具有明确阶段的工作流
### 日历视图
一种日历视图,用于显示包含日期字段的记录。 非常适合:
* 会议和活动
* 截止日期和到期日
* 基于时间的计划
## 创建视图
有两种方法可以创建新视图。
### 使用视图下拉菜单
1. 导航到任意对象(人员、公司等)
2. 点击左上角的视图名称(显示当前视图并带有下拉箭头)
3. 点击 **+ 添加视图**
4. 为视图命名并点击 **创建**
5. 在 **选项** 下选择布局(表格、看板或日历)
6. 按需添加筛选器和排序
7. 选择要显示的字段并重新排序它们
8. 单击 **保存**
<VimeoEmbed videoId="1145648745" title="视频演示" />
### 首先编辑现有视图
1. 导航到任意对象(人员、公司等)
2. 在 **选项** 下选择布局(表格、看板或日历),并根据需要添加筛选和排序
3. 点击 **另存为新视图**
4. 为视图命名并点击 **创建**
5. 继续编辑新视图
6. 点击 **更新视图** 以保存新增的配置
<VimeoEmbed videoId="1145654005" title="视频演示" />
## 管理视图
### 编辑视图
1. 从下拉菜单中选择视图
2. 进行更改(筛选器、排序、列)
3. 点击 **保存** 以更新视图
### 重命名视图或更改其图标
1. 打开视图下拉菜单
2. 点击视图名称旁的 **⋮** 菜单
3. 选择 **编辑**
4. 更改名称或图标
5. 单击 **保存**
### 重新排序视图
1. 打开视图下拉菜单
2. 点击并通过其手柄拖动视图
3. 将其放到所需位置
4. 新的顺序会自动保存
### 添加到收藏夹
将常用视图固定,便于快速访问:
1. 打开视图下拉菜单
2. 点击视图旁的 **⋮** 菜单
3. 选择 **添加到收藏夹**
4. 该视图会显示在收藏夹区域
### 删除视图
1. 选择要删除的视图
2. 点击视图下拉菜单
3. 点击该视图旁的 **⋮** 菜单
4. 选择 **删除**
5. 确认删除
<Warning>
已删除的视图无法恢复。 确认前请确保确实要将其删除。
</Warning>
## 视图可见性
每个视图(默认的 "All [Object Name]" 视图除外)都有其各自的可见性设置。
要更改可见性:
1. 打开视图
2. 点击 **选项 → 可见性**
3. 选择:
* **工作区**:对所有工作区成员可见
* **未列出**:仅对自己可见
<Note>
默认的 "All [Object Name]" 视图的可见性无法更改。
</Note>
## 下一步
* [表视图](/l/zh/user-guide/views-pipelines/capabilities/table-views)
* [看板视图](/l/zh/user-guide/views-pipelines/capabilities/kanban-views)
* [筛选与排序](/l/zh/user-guide/views-pipelines/capabilities/filters-and-sorting)
* [视图设置](/l/zh/user-guide/views-pipelines/capabilities/view-settings)