[iDempiere] Workflow 引擎與商業流程自動化

本篇文章更新時間:2026/02/07
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


iDempiere 內建了一套基於 WfMC 標準的 Workflow Engine(工作流程引擎),用於文件審批流程、商業流程自動化和系統任務排程。這篇文章介紹 Workflow 的核心概念和常見應用。

這是 iDempiere 開源 ERP 系列文章 的第 12 篇。

Workflow 概覽

iDempiere 的 Workflow Engine 支援三種主要的工作流程類型:

1. Document Process(文件處理流程)

控制文件(如銷售訂單、發票等)的生命週期,定義文件從 Draft → Complete → Close 的狀態轉換邏輯。

2. Document Value(文件值審批流程)

根據文件的條件(如金額大小)決定是否需要審批,以及由誰審批。例如:

  • 訂單金額 < 10,000:自動核准
  • 訂單金額 10,000-100,000:需部門主管核准
  • 訂單金額 > 100,000:需總經理核准

3. General Workflow(一般工作流程)

自訂的商業流程,可以串接多個步驟(節點)和條件判斷。

Workflow 的組成元件

Workflow(工作流程)

最上層的容器,定義流程的名稱、類型和起始節點。

設定路徑:Menu → General Rules → Workflow → Workflow

Node(節點)

流程中的每一個步驟。節點類型包括:

  • Window:開啟一個視窗讓使用者操作
  • Process:執行一個系統流程
  • Form:開啟一個表單
  • User Choice:等待使用者選擇(核准/拒絕)
  • Set Variable:設定變數值
  • Sub Workflow:呼叫另一個子流程

Transition(轉換/連線)

定義節點之間的連線和條件。可以設定條件(Condition),例如「金額大於 10,000 時走核准路線」。

文件審批流程設定

最常見的 Workflow 應用是文件審批。以銷售訂單為例:

步驟一:定義審批層級

  1. 在 Role 設定中指定 Supervisor(上級主管)角色
  2. 在 User 設定中指定每個使用者的 Supervisor
  3. 建立審批金額門檻

步驟二:設定 Document Value Workflow

  1. 建立一個 Document Value 類型的 Workflow
  2. 綁定到「Sales Order」文件類型
  3. 定義條件和審批路線:
    Start → [金額判斷]
      ├── ≤ 10,000 → 自動核准
      └── > 10,000 → 主管審核 → [核准/拒絕]
                         ├── 核准 → 完成
                         └── 拒絕 → 通知申請人
    

步驟三:使用者體驗

  • 使用者建立銷售訂單並提交
  • 如果觸發審批,訂單狀態變為「Waiting for Approval」(等待核准)
  • 核准者在 Workflow Activities 視窗中看到待核准項目
  • 核准者可以核准(Approve)或拒絕(Reject)

通知與自動化

Alert(警報)

Menu → General Rules → Server → Alert

可以設定基於 SQL 查詢的定期檢查,例如:

  • 庫存低於安全水位時通知
  • 逾期帳款超過 60 天時通知
  • 訂單超過 3 天未出貨時通知

Scheduler(排程器)

Menu → General Rules → Server → Scheduler

定期自動執行系統流程,例如:

  • 每日自動執行 MRP 計算
  • 每月自動產生定期訂單
  • 每日自動匯入匯率

自訂工作流程範例

假設你要建立一個「採購申請審核流程」:

1. 申請人提交採購需求
2. 部門主管審核
   ├── 核准 → 3a
   └── 拒絕 → 通知申請人,流程結束
3a. 金額判斷
   ├── ≤ 50,000 → 自動轉為採購訂單
   └── > 50,000 → 4
4. 總經理審核
   ├── 核准 → 轉為採購訂單
   └── 拒絕 → 通知部門主管和申請人

這個流程在 iDempiere 中可以透過設定 Workflow、Node 和 Transition 來實現,不需要寫程式碼。

小結

iDempiere 的 Workflow Engine 是實現商業流程自動化的利器。文件審批流程可以完全透過設定完成,通知和排程功能則讓系統主動提醒和執行例行任務。

對於更複雜的流程自動化需求(例如跨系統整合),可能需要搭配 OSGi Plugin 開發。下一篇就來介紹 Plugin 開發的基礎。


iDempiere 開源 ERP 系列文章(完整目錄)


參考資料

  1. iDempiere Wiki Manual - Chapter 1: General Rules(Workflow 章節)
  2. iDempiere Wiki - Software Developer's Guide
  3. iDempiere Features

Share:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon