參與者設定
路徑:【後台管理】⇒【應用管理】⇒【應用】⇒【業務模型】⇒【流程設計】⇒【節點屬性】⇒【基礎屬性】⇒【參與者】
參與者是流程運行到某個節點時,系統要找出哪些人來處理這個節點。本章節說明參與者的兩種設定視圖、各種查詢方式的設定欄位,以及公式視圖可使用的參與者函數。
1. 參與者設定
📌 適用節點
參與者僅適用於 [使用者活動]、[傳閱]、[子流程] 三種節點,不同節點的參與者意義不同:
- 使用者活動:流程運行到該節點時,誰會收到待辦通知並繼續審核。
- 傳閱:流程運行到該節點時,系統自動將表單詳情抄送給這些人。
- 子流程:流程運行到該節點時,系統自動推送待辦給子流程參與者,由該參與者填寫表單並發起子流程。
📌 設定入口
選取節點後,在右側 【節點屬性】⇒【基礎屬性】⇒【參與者】 欄位點選右方的 『⋯』 按鈕,即可開啟 [參與者函數] 設定視窗。
參與者為必填欄位,若未設定,流程檢驗時會提示錯誤而無法發布。
參與者設定入口
📌 兩種設定視圖
[參與者函數] 視窗右上角可切換兩種視圖,兩者設定的結果都會轉換成同一組參與者函數:
- 表達式視圖:以表單方式一步步選取查詢條件,不需要記函數語法,適合大多數情境。
- 公式視圖:直接撰寫參與者函數,可組合多個函數與條件判斷,彈性較高,適合表達式視圖無法表達的複雜規則。
在表達式視圖設定完成後切換到公式視圖,可以看到系統換算出來的函數內容;反之,若公式視圖中的內容超出表達式視圖可表達的範圍,切換回表達式視圖時將無法完整顯示。
2. 表達式視圖
在表達式視圖中點選 『新增參與者』,可選擇五種查詢方式:依欄位找主管、依指定部門找主管、依角色找人、依組織機構找人、依直屬主管查詢。
同一個節點可以新增多組查詢方式,系統會將各組查詢到的人員聯集起來,作為該節點的參與者;每組查詢方式右側的 『垃圾桶』 圖示可刪除該組設定。
新增參與者
📌 依欄位找主管
依欄位找主管是以表單上的欄位或發起人為基準,往上找出該部門的主管,適用於「送給申請人所屬部門主管審核」這類情境。
此方式提供兩種查詢基準,擇一設定:
- 查詢〔發起人部門〕主管:以發起人所屬部門為基準查詢部門主管。若表單中有部門類型的數據項,該數據項也會出現在此下拉選單中。
- 查詢〔數據項〕部門主管:以表單中人員或部門類型的數據項為基準查詢部門主管,例如建立人、建立人部門、擁有者、擁有者部門、修改人等。
繼續向上查詢
底下可勾選兩種情況,讓系統在查不到合適人選時自動往上一層部門繼續查詢:
- 沒有找到主管:目前部門未設定主管時,往上級部門查詢。
- 找到的主管是發起人:查到的主管剛好就是發起人本人時,往上級部門查詢,避免發起人審核自己的申請。
若一路往上查到根部門仍找不到主管,系統會轉交給子管理員或系統管理員。
依欄位找主管
📌 依指定部門找主管
依指定部門找主管是直接指定一個固定部門,取該部門的主管作為參與者,與發起人是誰無關。
適用於「出差報銷一律送財務部主管審核」這類固定由某個部門主管把關的情境。
同樣提供 『沒有找到主管』、『找到的主管是發起人』 兩個繼續向上查詢的條件。
依指定部門找主管
📌 依角色找人
依角色找人是透過 【組織機構】 中設定的角色與管轄範圍找出參與者,適用於「依發起人所屬公司,找到負責該公司的財務專員」這類情境。
- 查詢管轄範圍包含〔基準〕的〔角色〕角色成員:先指定一個基準(發起人或表單中的人員、部門數據項),再指定角色;系統會找出管轄範圍涵蓋該基準的角色成員。
- 當查詢到多人時:決定多人時的排序依據。
- 排序碼從小到大:依角色內人員的排序碼由小到大排列。
- 管理範圍從小到大:依管轄範圍由小到大排列,也就是優先取管轄範圍最貼近基準的人。
排序結果會影響參與者類型為單人時取到的人選,以及參與者類型為多人且串行時的審核順序。
依角色找人
📌 依組織機構找人
依組織機構找人是直接從組織架構中挑選固定的部門或人員作為參與者,適用於「物品領用一律由行政專員審核」這類參與者固定不變的情境。
依組織機構找人
點選查詢欄位後會開啟 [選擇部門/聯絡人] 視窗,可直接搜尋組織或姓名,也可以逐層展開組織架構後勾選;若選取的是部門,則該部門下的人員都會成為參與者。
選擇部門/聯絡人
📌 依直屬主管查詢
依直屬主管查詢是依照 【組織機構】 中人員設定的直屬主管,逐層往上找出指定層級的主管,適用於「請假單須經一級、二級主管審核」這類依人員關係逐層簽核的情境。
- 查詢〔基準〕的第〔N〕級直屬主管:基準通常為發起人,層級以數字指定。
- 第 0 級:基準本人。
- 第 1 級:基準的直屬主管。
- 第 2 級:基準直屬主管的直屬主管,以此類推。
若往上的人員未設定直屬主管,系統會找到該應用的前台子管理員。
若發起人同時隸屬多個部門且各部門都設有直屬主管,系統會依送出表單當下的發起人部門來查詢直屬主管。
依直屬主管查詢
3. 公式視圖
📌 公式視圖畫面
公式視圖左側為可用元素清單,右側上方為公式編輯區,下方會顯示目前選取函數的語法說明。
從左側清單點選元素即可插入到公式編輯區,插入後再依語法補上參數。
公式視圖
左側清單可使用的元素分為五類:
- 業務數據項:目前模型下的所有數據項,包含子表欄位與單據狀態、建立人、擁有者等系統數據項。
- 系統參數:
發起人{Originator}、發起人所屬部門{Originator.OU}、上一活動參與者{LastParticipants}、上一活動處理人{LastFinisher}。 - 參與者函數:查詢人員的各種函數,詳見下方章節。
- 組織機構:組織架構中的部門與人員。
- 組織角色:各應用下已建立的角色。
編寫公式時建議盡量從左側清單選取數據項、部門、人員、角色作為參數,避免手動輸入 ID 造成參數錯誤而查不到參與者。
📌 參與者函數
以下為公式視圖中可使用的函數:
-
OUManager(x)-部門經理函數查詢(某個部門/某人所在部門)的部門主管。例如
OUManager({Originator})查詢發起人所在部門的部門主管;OUManager({"user1"})查詢數據項 user1(選人控制項類型)所在部門的部門主管。部門主管在 【組織機構】 的部門屬性中設定。 -
OUManagerOf(x,y)-查詢指定層級的部門主管以 x 為基礎,向上查詢第 y 級部門的部門主管。x 只支援數據項與系統參數,不支援手動輸入使用者 ID/部門 ID。例如
OUManagerOf({Originator},2)查詢發起人上上級部門的部門主管。 -
RecurseManager(x,y)-遞迴查詢上級部門經理查詢 x 的部門主管,並遞迴向上繼續查詢上級部門主管,直到找到的部門達到 y 級;y=0 時遞迴查詢到公司根部門,數值越大部門越小。例如
RecurseManager({Originator},1)遞迴查詢發起人的上級部門主管,直到找到 1 級部門主管。 -
RecurseManagerOf(x,y)-逐級查詢部門主管查詢 x 的部門主管,並繼續向上查詢 y 級部門主管。例如
RecurseManagerOf({Originator},2)會查到 3 個人,分別是發起人的部門主管、發起人上級部門的部門主管、發起人上上級部門的部門主管。 -
FindUserByRole(x,y,z)-根據角色查詢使用者查詢管轄範圍包含 x(單個人/單個部門)的 y 角色對應的使用者,z 為結果返回方式:
dept依管轄範圍從小到大、sortKey依排序碼從小到大。例如FindUserByRole({Originator},"finance","dept")查詢管轄範圍包含發起人的財務角色成員。 -
findUserByLabel(x,y)-根據標籤查詢使用者依人員欄位或發起人,查詢上級部門中指定標籤或相同標籤的人員。
-
ActivityParticipants(x)-歷史活動處理人依 x(節點編碼)查詢該節點的處理人,只能查詢已經處理過的節點,不包含已取消的節點;若有多人處理則回傳多人集合。例如
ActivityParticipants("Activity7")會回傳 Activity7 節點的所有歷史處理人。 -
ExecuteBizMethod(ServiceCode,MethodName,Params)-執行業務服務方法當系統內建函數不足以支應業務需求時,可透過執行業務服務方法回傳參與者,回傳類型為 String 或 String[]。
- ServiceCode:業務服務編碼。
- MethodName:業務服務方法名稱。
- Params:參數綁定,以 JSON 格式傳入,例如
{"param1":"param1Value"};若傳入數據項,則取數據項的值。
使用前須先在 【業務整合】 中新增對應的業務服務方法。
-
IF(表達式,{V1},{V2})-條件函數判斷判斷表達式的結果,為 true 回傳 V1 的值,為 false 回傳 V2 的值。例如
IF({money}>100000,"大額採購","一般採購")。 -
Contains(parent,child)-包含函數判斷判斷 parent 是否包含 child,兩者皆可為字串或字串陣列。若為陣列需全比對相符;若為字串與字串比較,則為包含關係比較。
-
StartsWith(x,y)-開頭函數判斷判斷字串是否以特定內容開頭,回傳 true/false。例如
StartsWith({yybbm},"3001")判斷營業部編碼是否以 3001 開頭。 -
Now()-目前時間回傳目前時間,精確到時分秒,格式為
yyyy-MM-dd hh:mm:ss。
函數插入時支援參數設定,格式須符合語法規範,否則無法送出;即使格式正確,參數錯誤也可能導致查不到對應的參與者。
📌 快捷搜尋
公式視圖左上角的搜尋欄可快速搜尋所有可用元素,包含函數名稱、數據項名稱、角色名稱、人員與組織名稱等。
搜尋結果會依元素類別分組顯示,角色下方會標示所屬應用與分組,方便區分同名角色。
快捷搜尋
4. 查不到參與者時
當參與者未設定、查詢不到符合規則的人員,或符合規則的人員已離職、被刪除時,新發起的流程會依節點的 [無參與者] 設定處理,包含轉交管理員、直接通過、轉交特權人、自訂處理人、流程變為異常、由上一節點選人六種方式。
詳細說明請詳見 使用者活動-基礎屬性 章節的 無參與者 段落。
設定為轉交管理員、轉交特權人或自訂處理人時,該筆待辦會出現在對應人員的待辦清單中,管理員也可以在 【流程中心】 的系統轉辦中批次處理這些流程。