流程 vs 流程實例
在 kikuflow 中,「流程」和「流程實例」是兩個不同的概念,理解這個差異能避免很多困惑。
流程(Workflow)= 模板
流程是你設計好的「處理規則」,定義了:
- 有哪些步驟?
- 每個步驟由誰處理?
- 依什麼條件決定走哪條路?
流程本身不會「執行」,它是靜態的模板。就像一份空白的表單範本,它不是你要填的那張表。
流程實例(Instance)= 每次的執行
當有人提交一份申請,系統就會根據流程模板建立一個「流程實例」。每個實例:
- 有自己的表單填寫內容
- 有自己的進度狀態
- 有自己的審核歷史紀錄
同一個流程可以同時有多個進行中的實例。例如:「請購審核流程」今天同時有 5 份請購單在跑,就是 5 個獨立的實例。
流程「請購審核」(模板)
├── 實例:張三的請購單 #001(審核中)
├── 實例:李四的請購單 #002(已完成)
└── 實例:王五的請購單 #003(已退件)⚠️ 常見誤區:為什麼我改了流程,進行中的申請沒有改變?
kikuflow 採用版本鎖定機制:每個流程實例在建立時,會鎖定當下的流程版本。
這樣設計的原因:假設你的請購流程改了審核人,如果進行中的申請也跟著變,已經通過的步驟要重算嗎?稽核紀錄要怎麼算?這會造成很多混亂。
正確做法:
- 進行中的實例 → 繼續依照舊版本完成
- 想要新邏輯 → 發布新版本的流程,之後新提交的申請才會走新版本
詳見:版本控制