讓企業流程更彈性,萬用簽核=利用SQL語法來動態決定關卡數量以及簽核對象
市面上常見的的Workflow在設計關卡時,需要將所有可能的簽核關卡進行判斷及設計出來。
SmartPlatform的[萬用簽核],主要是利用SQL語法來動態決定關卡數量以及簽核對象,採用自由組裝SQL語法關卡的方式,
可做到動態串簽、動態會簽、前加簽、後加簽、層級核決...等流程。
可因應更加多變的應用情境,將關卡與簽核對象的複雜度放在SQL中,省去開發者重複設計過多關卡的麻煩

此章節包含主題:
內部已事先定義簽核流程在資料庫
具備SQL語法能力、熟關卡流程,可搭配表單資料透過SQL語法組合出簽核流程清單
使用時可與一般簽核混用
標題:自訂Action的顯示標題。
來源類型:
資料表:可指定頁面內的資料表(需含有關卡人員及類型等相關欄位才能使用)
其他資料列:指定其他select Query Action的結果(需含有關卡人員及類型等相關欄位才能使用)
關卡類型:固定值例:Simple或Parallel,解釋:Simple=單人簽,Parallel=多人會簽
關放標題:固定值例:部門主管
動態送審對象:預設不指定。另可搭配[送審對象]使用,回傳1(True)時, 送審對象只能寫欄位script 例:$Oltp1.approvals.empids_dept$
送審對象:固定值a001,b001 (指定多人時,關卡類型必須是),
屬性(欄位) |
回傳值 |
送審對象 |
備註 |
|---|---|---|---|
關卡類型 |
Simple=單人簽 |
a001 |
固定值 |
Parallel=多人會簽 |
a001,b001 |
多人,會簽需再搭配[會簽條件]使用 |
|
$process.manager1$ |
抓頁面變數值 例: |
||
| 動態送審對象 | True |
$Oltp1.approvals.empids_dept$ |
抓欄位值 |
False=Null |
a002 |
固定值 |
會簽類型:指定類型 0,1,2,3。0=全部簽核、1=任一簽核、2=最少需要人數簽核、3=最少需要百分比簽核,滿足後才再往下一關簽核
核准滿足條件:搭配[會簽類型],輸入2人數或百分比0.5
會簽類型 |
中文翻譯 |
核准滿足條件 |
備註 |
|---|---|---|---|
0 |
全部簽核 |
核准滿足條件通過後,再往下一關簽核 | |
1 |
任一簽核 |
||
2 |
最少需要人數簽核 |
2或3... |
|
3 |
最少需要百分比簽核 |
0.2或0.5... |
進階(勾選進階展開下面清單)
關卡核准事件:抓頁面變數值 例:$process.actionName$,$固定字串.action變數名稱$
關卡退回事件:抓頁面變數值 例:$process.actionName$,$固定字串.action變數名稱$
關卡取消事件:抓頁面變數值 例:$process.actionName$,$固定字串.action變數名稱$
關卡終止事件:抓頁面變數值 例:$process.actionName$,$固定字串.action變數名稱$
可終止/否決事件:抓頁面變數值 例:$process.actionName$,$固定字串.action變數名稱$
可加簽:可指定1 ,True 在開啟表單的畫面會出現加簽的按鈕
可通知:可指定1 ,True 在開啟表單的畫面會出現通知或知會的按鈕
可修改:可指定1 ,True 在開啟表單的畫面時,可修改表單資料
可退簽:可指定1 ,True 在開啟表單的畫面會出現加簽的按鈕
手機可簽名核准:可指定1 ,True 在開啟表單的畫面會出現加簽的按鈕
關卡可否簽核:回傳1(True)時,需要簽核,也可指定$固定字串.action變數名稱$

方便讓開發人員註記說明文字,並以提示方式呈現在流程介面中,若無設定則會提示標題文字
在公司內部,已有資料表有定義每張報表+每個User的簽核流程的清單
已前準備,在資料庫有定義每張報表的簽核流程的清單,其他用法:透過輸入頁面開放使用者定義流程順序

在輸入頁面表單的企業流程中,拖拉[SelectQuery] action到流程上,將傳回型別設為多筆,並輸入第一步的SQL語法,取得流程會用到的資料
再拖拉[萬用簽核] action,到流程上,並輸入第一步的SQL語法,取得流程會用到的資料
設定[萬用簽核] action,選擇select query的結果欄位,並指定到萬用簽核的設定上

實際新增資料進行送審後在第一關卡核准後,可點選[檢視流程],查看到SelectQuery的結果搭配實際送簽的效果
從表單上取得關卡資料 & 及額外下SQL語法的結果
先在頁面Actions 設定相關變數或欄位,最後要在輸出新增一個變數,將select 的值傳給輸出變數
在輸入頁面表單的企業流程中,拖拉[SelectQuery] action到流程上,將傳回型別設為多筆,並輸入第一步的SQL語法,取得流程會用到的資料
Select Query action 的SQL語法及結果
|
附註: |
|---|
|
關卡類型=Parallel(會簽),需搭配會簽類型及滿足條件設定, $process.同部門會簽$ 簽核者=$process.同部門會簽$ ,系統認字串$process.$ 會執行頁面actios的Name的執行結果作業簽核人員 簽核者=$Oltp1.approvals.salestype$ ,需搭配動態簽核=1,系統才會判斷額外進行Script解析處理,取得$資料來源.資料表.欄位名稱$,如果動態簽核未指定,全部當作固定字串處理 |
再拖拉[萬用簽核] action,到流程上,並輸入第一步的SQL語法,取得流程會用到的資料
設定[萬用簽核] action,選擇select query的結果欄位,並指定到萬用簽核的設定上

實際新增資料進行送審後在第一關卡核准後,可點選[檢視流程],查看到SelectQuery的結果搭配實際送簽的效果