但實際上流程的每一個步驟的業務數據都需要靠表單來展現,用表單來實現業務數據的存儲,如果總是需要靠代碼來實現的話,沒有一個功能強勁的自定義表單工具來支撐的話,再好的工作流系統也不過是瘸腿的馬,跑不長遠,更別說可視化的完成業務流程了。
做過mis系統開發的人都知道,表單這塊涉及到表現層,操作界面的人機交互,後臺又涉及到業務邏輯,業務數據的存儲,是開發mis系統的重點,難點。而工作流引擎都是將這層業務模塊的實現剝離,讓用戶自己去實現,工作流引擎只實現一個抽象的流程流轉。如果要做到流程的自定義,業務模塊的自定義,一定需要有一個強大的自定義表單模塊來支持,才能使得流程的定義變得可視化,可操作,可提供給最終端的用戶使用。
自定義表單,因爲涉及到界面的展示,人機操作交互,頁面的構件一定要豐富。
常用的構件:label,textbox,combobox,spin , shape , checkboxlist , radiolist , dropdownlist , webgrid , upload等等;
複雜的構件:表格,樹控件,統計圖標展現控件,多列下拉列表控件等等。
表格的展現和輸入應該是最豐富的,功能應該做到很方便和強大,比如做到和數據集的綁定,快速方便的展現數據,單元格的輸入支持多種輸入方式,下拉combox,多列的下拉輸入,彈出日期選擇,彈出窗口選擇,回選數據等等。單元格,行的事件的支持,雙擊,單據,離開等等。
多樣齊全的數據驗證功能:比如判斷空,是否數字,取值範圍判斷,是否日期,是否電話號碼,省份證驗證,漢字驗證,等等多樣的驗證。
自定義表單,有可視化表單設計界面,直接採用拖、拉、點、拽的方式來設計表單。常見的數據獲取保存等等,直接用頁面構件,不需要用戶寫代碼就能完成(有時候簡單的sql語句還是需要寫)。
採用b/s的方式來設計,易於做web發佈,提供給最終端的用戶使用。
採用ajax的方式來實現隨時隨地的和後臺交互,做到局部刷新,粒狀更新,同步、異步調用等,使得界面交互性強,易於操作。
數據層和樣式分離,便於和其它系統集成;
支持多種後臺數據庫;
編輯層和最終生成的表單分離,易於發佈和集成。
下面是eform自定義表單,結合工作流管理系統的一個示例:
說明:
實現員工報銷的一個流程
主要業務要求:
員工填寫報銷單,單據爲主子表的設計,部門經理和總經理會籤,任何一位經理拒籤後,都打回重新填寫,打回後員工也可作廢報銷單;
重新填寫再次申報,直到經理都審覈通過,財務通知領取報銷金額,員工領取後,流程實例結束。
業務流程圖:
eform自定義表單模塊設計:費用報銷單
啓動流程:
流程運行軌跡圖:流程剛完成初始化,運行到填寫報銷單步驟
提交費用報銷申請:如下圖,點擊“保存執行”,即提交,流程會流轉到審覈階段。
經理審覈:
兩步審覈都通過後,財務發出通知
員工領取報銷費用。