Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .changeset/automation-zh-forecast.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
'hotcrm': patch
---

The Chinese automation pages regain the paragraph that says which half of the
forecast pipeline owns what, and both they and the Chinese Opportunities pages
name the `best_case` forecast category the way the shipped locale pack does.

**The missing paragraph.** `## Scheduled automation` in
`content/docs/administration/automation.mdx` has carried three paragraphs since
#615 landed `forecast_snapshot`; the two Chinese copies had two. The one they
lacked is the only place on the page that gives the *criterion* for splitting
work between a flow and an object hook — the **Forecast Snapshot** flow decides
who gets a snapshot and what the totals are, while the forecast object's hook
decides which calendar period the snapshot belongs to, because a cron schedule
can say "every night" but not "the first day of this quarter". Without it a
Chinese reader got the preceding paragraph's conclusion (date-driven field logic
that needs no orchestration lives in object hooks) with none of the reasoning,
and the English text explicitly calls this "the pattern to copy". Both
`automation.zh-Hans.mdx` and `automation.zh-Hant.mdx` now carry it, using each
page's own established vocabulary (计划类流程 / 排程類流程, 对象钩子 / 物件鉤子,
日历周期 / 日曆週期, 写入方 / 寫入方).

The rest of the page was swept the same way while the file was open — every
other section already matches the English one paragraph for paragraph, and no
further gap was found.

**One picklist value, three spellings.** `src/translations/zh-CN.ts` ships
`crm_opportunity.fields.forecast_category.options.best_case` as 「最佳情况」, and
that is what the *Forecast Category* dropdown shows. The Chinese docs used three
different words for it: 最佳情况 on the Forecasting, Sales index, glossary,
Copilot and cubes pages (right), 最佳可能 on the Opportunities pages, and 最好情况
on the automation pages. Both wrong spellings are gone. The two Opportunities
occurrences per locale sit in the same sentence as 「承诺(Commit)」, which was
already correct, so the *This Quarter's Closing* view described its own filter
with one term a reader can find in the UI and one they cannot.

The same automation table row named the fourth forecast total 「赢单合计」, a word
the pack ships nowhere; `crm_forecast.closed_amount` is labelled 「已成交金额」,
which is also what the Forecasting page already used. That row now agrees with
both.

Documentation only — the locale pack is the contract, so nothing under `src/`
changed, and the English pages (which already match the pack) are untouched.

Fixes #836. Fixes #845. Follows #829.
4 changes: 3 additions & 1 deletion content/docs/administration/automation.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ description: 验证规则、流程、计划作业与审批 —— 无需你动
| **合同自动到期** | 计划(每日 0 点) | 将已激活且超过 `end_date` 的合同置为到期,并通知负责人 |
| **报价自动过期** | 计划(每日 1 点) | 将超过 `expiration_date` 且仍未关闭的报价置为过期 |
| **营销活动自动完成** | 计划(每日 2 点) | 将 `end_date` 已过的进行中营销活动标记为 *Completed* |
| **预测快照** | 计划(每日 3 点) | 为每位活跃商机负责人写入本季度预测行 —— 管道、最好情况、承诺与赢单合计 |
| **预测快照** | 计划(每日 3 点) | 为每位活跃商机负责人写入本季度预测行 —— 管道、最佳情况、承诺与已成交金额 |
| **停滞商机提醒** | 计划(每日 7:30) | 提醒负责人关注在某阶段停留过久的未结商机 |
| **合同续约提醒** | 计划(每日 8 点) | 为临近 `end_date` 的合同开出续约任务/商机 |
| **案例 SLA 监控** | 计划(每小时) | 标记并升级超过 SLA 到期时间的未结案例 |
Expand All @@ -93,6 +93,8 @@ description: 验证规则、流程、计划作业与审批 —— 无需你动

无需编排的日期驱动字段逻辑 —— 例如为报价设置默认过期日、冻结已过期/已接受的报价、推导预测周期 —— 放在轻量的 **对象钩子**(`beforeInsert` / `beforeUpdate`)中,而非计划清扫。

预测这一块的分工值得单独点出来,因为它正是要照抄的模式:**预测快照** 流程决定*谁*会拿到快照、*各项合计是多少*,而预测对象的钩子决定*这条快照属于哪个日历周期*。一条 cron 计划说得出「每晚」,却说不出「本季度的第一天」—— 所以这个周期边界由对象统一推导一次,供每个写入方共用。

## 审批

自 ObjectStack 7.4 起,审批被建模为 **流程中的 `approval` 节点**(ADR-0019),而非独立的审批流程类型。进入节点时会创建审批请求、在该步骤待批期间 **锁定记录**、将实时状态镜像到 `approval_status` 字段,并沿 *approve* / *reject* 分支继续。
Expand Down
4 changes: 3 additions & 1 deletion content/docs/administration/automation.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ description: 驗證規則、流程、排程作業與審批 —— 無需你動
| **合約自動到期** | 排程(每日 0 點) | 將已啟用且超過 `end_date` 的合約置為到期,並通知負責人 |
| **報價自動過期** | 排程(每日 1 點) | 將超過 `expiration_date` 且仍未關閉的報價置為過期 |
| **行銷活動自動完成** | 排程(每日 2 點) | 將 `end_date` 已過的進行中行銷活動標記為 *Completed* |
| **預測快照** | 排程(每日 3 點) | 為每位活躍商機負責人寫入本季預測行 —— 管道、最好情況、承諾與贏單合計 |
| **預測快照** | 排程(每日 3 點) | 為每位活躍商機負責人寫入本季預測行 —— 管道、最佳情況、承諾與已成交金額 |
| **停滯商機提醒** | 排程(每日 7:30) | 提醒負責人關注在某階段停留過久的未結商機 |
| **合約續約提醒** | 排程(每日 8 點) | 為臨近 `end_date` 的合約開出續約任務/商機 |
| **案例 SLA 監控** | 排程(每小時) | 標記並升級超過 SLA 到期時間的未結案例 |
Expand All @@ -93,6 +93,8 @@ description: 驗證規則、流程、排程作業與審批 —— 無需你動

無需編排的日期驅動欄位邏輯 —— 例如為報價設定預設過期日、凍結已過期/已接受的報價、推導預測週期 —— 放在輕量的 **物件鉤子**(`beforeInsert` / `beforeUpdate`)中,而非排程清掃。

預測這一塊的分工值得單獨點出來,因為它正是要照抄的模式:**預測快照** 流程決定*誰*會拿到快照、*各項合計是多少*,而預測物件的鉤子決定*這筆快照屬於哪個日曆週期*。一條 cron 排程說得出「每晚」,卻說不出「本季的第一天」—— 所以這個週期邊界由物件統一推導一次,供每個寫入方共用。

## 審批

自 ObjectStack 7.4 起,審批被建模為 **流程中的 `approval` 節點**(ADR-0019),而非獨立的審批流程類型。進入節點時會建立審批請求、在該步驟待批期間 **鎖定記錄**、將即時狀態鏡像到 `approval_status` 欄位,並沿 *approve* / *reject* 分支繼續。
Expand Down
4 changes: 2 additions & 2 deletions content/docs/sales/opportunities.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,13 @@ description: 活跃的销售交易——销售管道的核心,包含 7 个阶
| **商机时间线** | 每笔交易一根横条,从创建当天延伸到成交日期,按负责人分组、以月为刻度。 |
| **商机卡片** | 卡片墙——客户、金额、阶段、赢单概率、成交日期、负责人——用于流水线评审和管理层过会。 |
| **⚠️ 停滞商机 · 按阶段停留时间排序** | 进行中的交易按在当前阶段停留的时间排序,停得最久的排在最上面。这里不按停留天数做截断——**当前阶段停留天数**是一列,等了多久直接在行上读。真正据此行动的是每日的[停滞商机提醒](/zh-Hans/docs/administration/automation):一笔交易在同一阶段停满 14 天,就会提醒负责人。 |
| **本季度待成交商机** | 处于**承诺(Commit)**或**最佳可能(Best Case)**、且成交日期落在当前季度内的进行中交易——见下文。 |
| **本季度待成交商机** | 处于**承诺(Commit)**或**最佳情况(Best Case)**、且成交日期落在当前季度内的进行中交易——见下文。 |

### 本季度待成交商机

这是销售经理在季度末真正使用的视图,它同时受三个条件约束:

- **预测类别**——只要**承诺(Commit)**和**最佳可能(Best Case)**。
- **预测类别**——只要**承诺(Commit)**和**最佳情况(Best Case)**。
- **仍在进行中**——赢单和丢单永远不会出现。
- **成交日期落在当前季度内**——季度的两端都是列表每次查询时现算的,因此它会自己滚进下一个季度,不需要有人去改视图。

Expand Down
4 changes: 2 additions & 2 deletions content/docs/sales/opportunities.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,13 @@ description: 活躍的銷售交易——銷售管道的核心,包含 7 個階
| **商機時間線** | 每筆交易一根橫條,從建立當天延伸到成交日期,按負責人分組、以月為刻度。 |
| **商機卡片** | 卡片牆——客戶、金額、階段、贏單機率、成交日期、負責人——用於流水線評審和管理層過會。 |
| **⚠️ 停滯商機 · 按階段停留時間排序** | 進行中的交易按在當前階段停留的時間排序,停得最久的排在最上面。這裡不按停留天數做截斷——**當前階段停留天數**是一欄,等了多久直接在列上讀。真正據此行動的是每日的[停滯商機提醒](/zh-Hant/docs/administration/automation):一筆交易在同一階段停滿 14 天,就會提醒負責人。 |
| **本季度待成交商機** | 處於**承諾(Commit)**或**最佳可能(Best Case)**、且成交日期落在當前季度內的進行中交易——見下文。 |
| **本季度待成交商機** | 處於**承諾(Commit)**或**最佳情況(Best Case)**、且成交日期落在當前季度內的進行中交易——見下文。 |

### 本季度待成交商機

這是銷售經理在季度末真正使用的視圖,它同時受三個條件約束:

- **預測類別**——只要**承諾(Commit)**和**最佳可能(Best Case)**。
- **預測類別**——只要**承諾(Commit)**和**最佳情況(Best Case)**。
- **仍在進行中**——贏單和丟單永遠不會出現。
- **成交日期落在當前季度內**——季度的兩端都是列表每次查詢時現算的,因此它會自己滾進下一個季度,不需要有人去改視圖。

Expand Down
Loading