前面我們有舉例說明FLNotify這個Activity的功能是用於流程當中來通知申請者或相關的角色,但其實在流程進行當中,任何一個參與的角色在讀取該單據的同時,都可利用流程Navigator上的一個特殊的『Notify』按鈕來通知其他的角色或使用者,這種我們稱之任意通知的功能。因為通知在流程中的動作並不會影響到流程的時效,就好像我們使用Email的轉寄一樣方便,讓這些流程單據能夠讓更多的使用者或角色共同參予但不進行決策或提供意見,透過通知所收到的流程活動系統會自動列在「通知事項」中。
Step1>同樣以 003這個User來登入Logon.aspx中,與之前一樣,打開「客戶申請」這個Customers.Xoml後,點選「客戶申請」這個活動來打開表單,接著我們輸入一筆客戶資料,如下:
將此筆資料存檔並按下「上呈」之後,依Customers.Xoml流程將呈送給了R02(業務經理)。
Step2>以 005這個User來登入Logon.aspx,在「待辦事項」中按下該申請單的「打開」圖示,此時將出現如下的頁面,由於FLWebNavigator處於Approve的狀態下,因此Work Flow操作按鈕只有「審核」、「退回」、「通知」和「查看」4個選項。
Step3>按下「通知」後,系統自動彈出如下對話框,供User選擇所要通知的對象,此處我們在選擇使用者處選入007(TOBY),選擇角色處選入R04(工程師),確認通知對象之後,選擇「確認」按鈕,系統即刻會將通知訊息告知選擇的對象。
這裡要說明,送往User與Role的差異,選擇使用者時將會將通知訊息告知給選擇的User,而使用選擇角色時,系統會將信息傳送給一個角色中對應的多個User (可能為一個或多個User),如上例,選擇的Role為R04時,系統即會將訊息傳送給004(LILY)和011(SAM)。
Step4>以 007這個User(按之前的通知的對象為使用者)來登入Logon.aspx,在「通知事項」中找到C011這個單據的通知。
按下該通知事項中以「打開」圖示,此時將出現如下的頁面,由於FLWebNavigator處於Notify的狀態下,因此Work Flow操作按鈕只有「通知」、「刪除」和「查看」3個選項。因此在這個狀態下只可進行Delete此通知,或可以再通知的動作。
Step5>以 004這個User (按之前的通知對象為角色)來登入Logon.aspx,在「通知事項」中找到C011的通知。按下「打開」之後,為了配合後面的資料安全管制功能,在此我們先暫時不要使用Delete將此通知刪除。
Step6>由於上面的任意通知功能,是很容易透過這種方式將資料轉寄給更多的使用者或角色,因此為了單據在流程中的資料安全性,我們可以用FLNavigator的兩個屬性來達到資料保密的目的,如下:
FLNotifyOFF (通知開關):當FLNotifyOFF=true時,FLNavigator或FLWebNavigator上的Notify按鈕將不顯示,這樣就不會有任意通知的功能。
FLNotifySecControl(通知安全控制):如果為True時,會根據FLNavigator或FLWebNavigator的MenuID來查詢Menu Utility中該表單授權給哪些Users或Groups,此會讓Notify所打開的角色與User選單時,可以根據 GroupMenus與UserMenus去過濾選擇對象來執行Notify。
如下圖,我們將FLNotifyOFF設為False,將FLNotifySecControl 設定為True,代表要過濾通知的使用者或角色,並將MenuID設定為 105,請注意MenuID不一定為105,這選的意義是代表『客戶申請』這個申請流程的MenuID剛好為105,請依照自己的MenuID來設定。
Step7>接著,我們進入EEPManager.exe的「Security Manager」/「Menu Utility」來對Web中的”客戶申請”進行使用權的設定,如下圖,我們將客戶申請這個Menu設定其「Access Users」為004與010這兩個Users。
Step8>同樣我們繼續以 004這個User來登入InfoLogin.aspx,在「通知事項」中找到C011的通知(剛剛那筆)。按下「打開」之後,我們再次按下「通知」來通知別的User,此時,會出現如圖的Dialog Box,在User群組中,只會出現004與010這兩個Users。
Related Topics