在工作流管理系統中,工作流引擎負責流程的流轉。首先梳理業務,將業務轉換成工作流系統的一個一個業務處理環節,再用連線連接各個業務環節,使得業務流程得以流轉。流轉的方式有多種,順序流轉,條件流轉,並行流轉,循環執行等等。
流程的各個環節上具體要處理的事情,通過業務表單來完成。如一個審批流,分為填寫申請單,審核申請單,甚至多級審批。填寫申請單是一個業務環節,審批申請單是一個業務環節(甚至有一級的審批就可以做一個業務環節)。具體申請單的填寫內容在表單中完成。制作一張填寫申請單的的頁面錄入表,將此錄入表單的路徑掛到流程的填寫申請單環節;制作一張審批申請單的表單頁面,掛到審批環節。再分配一下每個環節可執行的人,就可以運行這個審批流了。
一個業務流程有幾個業務處理環節就有幾個節點,每個節點上處理一件事,事情的辦理在表單中完成,表單的url鏈接掛到流程的節點上,當流程運行到此節點后,打開表單,待用戶操作完成,提交到下一步處理。
一個業務流程,有多個節點,每個節點上都可以掛一張表單,在和業務關聯的時候,通常是在業務主表中增加一個流程實例id字段。每個節點上處理的業務就可以和流程實例關聯起來。流程的各個節點上可以掛同一張表單,也可以是不同的表單。
流程的節點上處理的表單信息大致都相同,只是有少量的差別時,可以做成一張表單,掛到流程的各個節點上,然后通過權限設置來控制不同節點顯示不同的信息。這樣做的好處是后期的表單維護省時省力,做一個修改不用每張表單中都去修改。不好的地方是,一開始做表單的時候,要加上權限的設置部分。
一個流程的各節點是掛同一張表單按權限設置顯示信息,還是掛多張不同的表單,主要取決於業務,如果各個節點上辦理的業務表單大同小異,就用同一張表單設置不同權限;如果各節點辦理的業務大相徑庭,還是各自掛各自的表單。
如果業務流程的各節點掛同一張表單,在流程設計的時候,可以按節點設置表單中各字段的訪問權限。在流程的節點上,設置表訪問權限,設置字段的訪問權限,是只讀,禁用,隱藏等。設置完成后,將信息保存在業務流程的設計文件中。當運行到此節點,打開此表單,表單加載時,取出設計文件中保存的的這些信息,加載到頁面字段對應的控件上,使得信息或控件只讀,隱藏,或禁用,這樣來達到表單的操作權限。
如果工作流系統集成了智能表單系統了,這些操作權限的設置可以分離到智能表單中去完成。在表單的控件上,設置各個節點的不同操作權限。這樣更簡單一些。可以按人員設置,角色等的設置操作權限,也可以按流程的節點來設置。