如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2015年11月23日

ProcessMaker流程開發 - ProcessMaker的Trigger能做甚麼? 使用的時機?

作者: Fred Wang (FW知識瑣記) 日期: 2015/11/23


ProcessMaker的Trigger提供流程設計大量客製化功能與彈性, 提供流程進行過程中的後端資料處理, 根據官方文件與筆者的實作案例,列出下面的應用 :

資訊取得
1. 取得 使用者, 使用者主管,代理人等資訊
2. 取得 流程流程監督人資訊
3. 取得流程名稱, 關卡(Task)名稱 , 單據(Dynaform)名稱
4. 取得案件備忘資訊
5. 查詢ProcessMaker任意資料庫表格的內容(使用executeQuery)
6. 存取與開啟公共區的檔案
7. 存取流程與案件的全域變數, ProcessMaker客製化資料表(PM Table)與外部資料庫
8. 取得下個關卡被指派的使用者
9. 取得欄位的文字標籤

內容設定與轉換
1. 設定表單填寫的預設值
2. 顯示案件清單在一個Grid內
3. 動態產生網頁連結
4. 增加案件備忘資訊
5. 資料格式轉換, 例如移除金額欄位的千位分隔號與幣別符號, 轉成數字
6. 設定某一流程的案件計數器
7. 產生輸出文件檔案

使用者設定
1. 使用者新增,更改, 指定群組

流程處理
1. 跳過案件的某個關卡
2. 導到特定的案件或步驟
3. 流程中斷跳離
4. 錯誤處理
5. 重導到其他網頁(Redirection)
6. 案件新增, 暫停, 取消與刪除

郵件通知
1. 取得(多個)使用者的郵箱地址,用來產生寄件者清單
2. 將檔案加入郵件附件
3. 郵件中包含流程檔案管理中的附件檔
4. 傳送使用者上傳的檔案
5. 傳送程式產生的檔案
6. 信件中加入HTML連結與圖片
7. 信件中包含表格資訊
8. 送信件給一個案件目前的使用者
9. 送信件給目前案件使用者的主管
10. 送信件給下一關卡的使用者
11. 送信件給前面關卡的使用者
12. 送信件給一個案件所有參與者
13. 送信件給一個部門的所有成員
14. 送信件給一個群組的所有成員
15. 送信件給某種角色的所有使用者
16. 關閉案件並傳送通知

ProcessMaker的Trigger透過PHP程式碼,使用ProcessMaker提供的功能函式,可以進行上面各類應用的開發。

ProcessMaker的使用時機有五個
1. Before Dynaform 也就是輸入表格顯示前
    應用1 : 在第一個關卡, 案件開始(@@INDEX==1)可以設定案件的預設值
    應用2 : 可用來設定每一關卡的預設值

2. After Dynaform 此時使用者已經按下"送出/下一步",但關卡資料尚未寫入資料庫
    應用 : 檢查使用者的輸入值,可以讓游標停留在有問題的欄位,並讓該欄位用紅框顯示。

3. Before Assignment 此時關卡資料已經寫入資料庫, 但下一關卡負責人尚未被指派
    應用 : 如果下一工作階段採Vaue Based Assignment, 可以在此指定下一關負責人

4. Before Routing 此時案件的下一關卡Routing紀錄尚未寫入資料庫(wf_.APP_DELEGATION表格)
     應用 : 在第一個關卡,申請人勾選案件作廢,在此時機將此案件取消

5. After Routing 此時案件的下一關卡Routing紀錄已經寫入資料庫(wf_.APP_DELEGATION表格) 

    應用1 : 通知下一關簽核人
    應用2 : 如果是簽核關卡,簽核人選擇退件,則發送退件通知給簽核人
    應用3 : 最後一個關卡,在此可以發送案件審核完成通知

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)