成熟的ERP系統的界面應該都是從模板中拷貝出來的,各種功能的界面有規律可遵循。軟件界面設計模式化或是藝術性的創做,我承認前者,模式化的界面客戶容易觸類旁通,下降學習門檻。除了一些小部分的功能界面設計特殊一些,ERP絕大部分的功能的界面都類似。以我接觸和設計的ERP系統,總結常見的界面設計模式,供讀者參考。html
經常使用於各類單據的輸入界面,也可用於主文件/主檔(客戶,供應商,部門等)界面,參考下面的圖片。數據庫
我在圖中做了標識,A區是工具條按鈕,全部的界面共享工具條按鈕,接着是數據輸入區,數據輸入分爲主表和明細表。設計模式
主表中關鍵的字段放在界面最頂層,其它各字段根據功能類似的類別組合在一塊兒,B區中除了放置表頭數據,還須要用新增長選項卡的方式放置明細數據。C區是單據狀態欄,上圖中顯示了當前單據的建立時間和建立人,也能夠增長顯示當前單據的狀態(未審覈,未過賬)。D區是功能狀態欄,顯示與當前功能關聯最重要的會計期間,登入用戶和賬套等信息。服務器
這是第一個界面的只讀版,去掉了工具條中的新增,刪除和編輯功能。代碼的實現也很是容易,只須要設定相關屬性。工具
public class PurchaseOrderEnquiry: Sales.PurchaseOrderEntry { public PurchaseOrderEnquiry() { this.SupportAdd=false; this.SupportDelete=false; this.SupportEdit=false; } }
這種模式經常使用來做數據列表查詢,上面的兩個界面解決了單個數據的編輯,另外一種情景中咱們經常想要一個列表查詢(List),看一下根據指定的過濾條件看一下系統有多少筆數據。學習
數據查詢界面設計模式包含四個部分,A區是過濾條件,B區是按鈕動做,能夠執行查詢或是清除A區的過濾條件,C區是數據結果呈現區域,D區是插足結果瀏覽,打印或是導出Excel。ui
這個界面模式中的C區結果數據帶有鑽取功能,看上圖中的User Id列,帶有藍色的下劃線,雙擊能夠進入指定的功能。this
ERP系統中有一部分功能是爲了執行一項數據操做,好比日曆初始化功能,根據用戶輸入的日期範圍生成日曆數據。spa
這部分界面簡單,只須要放置相應的控件,從控件中取值以後執行數據操做。操作系統
參考下面的數據存檔功能的界面,選擇要存檔的單據類型,點擊處理(Process)便可執行單據存檔操做。
Perform Action模式由於是徹底自定義的界面,因此要用後臺線程組件(BackgroundWorker)處理按鈕事件(Process中的事件)避免死鎖主界面,執行過程當中光標也應該是等待狀態(Cursors.Waiting)。
批次處理界面用於簡化單據通用操做,好比須要將今天各部門提交上來的物料採購申請一次性或部分的批覈完成。將銷售訂單部分所有過賬完成。通用的操做界面方便了管理層對數據的操做。
批次處理功能分五個區,A區是數據過濾條件區,用於輸入過濾條件,B區是根據A區中的過濾條件查詢到的未過賬的數據,C區是B區中的每筆數據的顯示,最後,經過D區中的全選或反選,點擊處理(Process)按鈕,完成批次處理。
E區能夠對B區中的數據進行瀏覽,或是打印,導出。
這個界面模式與模式3操做類似,先根據過濾條件獲得數據,再進行數據操做。
再舉一個批次申請加班的例子,參考下面的圖片,用於批次申請員工加班。
A區是過濾條件區,用於選擇一個部門或是班次的一組員工,B區是根據過濾條件獲得的員工列表,在C區中填寫員工加班的開始時間和結束時間,最後點擊D區中的處理(Process)按鈕,批次生成加班記錄申請表。
這種模式用於單據的Excel數據文件導入,即便是上線完成,ERP系統中也會包含一部分從Excel導入的功能和數據。
具體見個人文章《解析大型.NET ERP系統 設計通用Microsoft Excel導入功能》,這篇文章中詳細講到了這種模式。
這種模式包含三個區域,A區是模板操做區,好比新建,保存或是加載現有的模板,B區是模板的預覽結果,將模板導出到Excel文件,按照欄位順序要求一次填入數據,最後到C區中,選擇包含數據的Excel文件,執行導入。
對於非通用的Excel導入,界面設計稍微有所區別,參考下面的圖片。
非標準化的Excel導入功能包含三個區域,A區選擇Excel文件,B區顯示A區中選擇的文件的數據,至關於預覽數據,C區執行導入數據,導入完成後會提示導入成功和失敗的數據項,C區還提供一個模板導出功能,方便用戶填寫數據。
這個模式來源於ERP中的大量工程更改。對已經發行的物料清單要做出調整,須要用ECN(Engineering Change Notice)功能完成。大量工程更改是ECN的批次處理方法實現。ECN每次只能選一個物料清單,而大量工程更改能夠根據過濾條件,選擇一個範圍內的物料清單對它們進行修改(增減物料或工序)。
大量更改設計模式隨業務不一樣稍微有所變化,但大體如上圖所示分爲四個區域。A區是過濾條件,B區是要執行的動做,好比對物料清單增長物料或刪除工序,C區中有一些選項卡,用於顯示受影響的數據,這樣讓用戶能夠知曉哪些數據會被修改。D區是執行修改動做。四個區域的設計,由過濾條件(A)到受影響的數據(C),增長要執行的動做(B),最後執行。
數據查找窗體用於簡化數據輸入,提供系統可用性。好比輸入供應商時,能夠彈出供應商選反對話框,輸入客戶編號的地方,能夠彈出客戶編號對話框。
數據查找窗體設計模式包含三個區域,A區是數據結果區,顯示知足條件的查詢數據,B區能夠對A區的數據進行搜索,藉助於Infragistics WinGrid的功能,A區也能夠對數據進行搜索,重排序,分組,統計(求和,求數量,求平均值),C區是肯定按鈕,用於返回A區中光標所選中的行。
以上是單一數據查找窗體,參考下面的多筆數據查詢窗體,支持選擇一行或多行數據,只是在C區中多增長了幾個按鈕。
相比於前面的圖片,上圖中的圖片多了兩個選擇項按鈕。
ERP功能中的單據支持附件管理,好比客戶主檔功能中,將客戶的資質等信息以附件文檔的形式保存在客戶主檔功能中。每次想查看客戶的資料,直接從系統中查看附件。
具體見個人文章《解析大型.NET ERP系統 通用附件管理功能》,這篇文章中詳細講到了這種模式。
附件管理功能界面包含四個區域,A區是工具條,用於增刪改單據的附件數據,B區是單據的附件數據列表,C區是B區的附件文件瀏覽窗口,D區用於對C區的附件文件進行操做。可另存到本機或是在操做系統進程中打開附件文件。
附件界面設計模式中,附件文件能夠保存在數據庫,共享文件夾或是FTP服務器中,這樣D區的實現代碼會因存儲位置的不一樣,稍微有所變化。
ERP系統包含數量龐大的報表庫,設計一個通用的報表閱讀界面給系統增色很多,報表界面支持常見的報表操做(打印,導出,縮放尺寸,搜索)。
報表界面模式包含二個區域,A區域是工具條,常見的功能是報表導出,打印設置,縮放,查找。B區域是水晶報表控件。
ERP系統中包含數據流轉和消息推送,一些要批覈的單據,要處理的待辦事項,須要有一個統一集中的地方進行管理。
消息中心模式抄襲了Outlook Express的界面設計方法,參考了下面的消息中心的模式圖片。
消息中心模式分三個區域,A區是目錄,常見的收個箱,發件箱,待批覈,已批覈,B區是項目列表,好比收件箱郵件列表,C區是B區的詳細內容顯示。工具條能夠增長新增消息,回覆消息,刪除消息等功能對項目進行操做。
批覈模式用於單據或文檔的批覈,ERP系統中包含固化的流程,也包含一些隨條件變化而不一樣的流程,最後都在同一個界面中完成批覈功能。
批覈模式包含五個區域,A區是過濾條件區,B區根據過濾條件查詢獲得的待批覈的數據,C區用於填寫備註文字,D區執行批覈功做(批准或拒絕),E區顯示批覈的進度。
注意B區網格前列有一個能夠打勾的小方框,表示批覈能夠批次處理,節省領導處理批覈時的寶貴時間。
圖形報表模式是以圖形化的方法顯示數據,柱狀圖,餅圖,曲線圖直觀的看出數據的變化。.NET 內置了圖形報表控件。
圖形報表設計模式包含三個區域,A區是過濾條件,B區是根據過濾條件獲得的數據,B區也支持以常規的網格Grid的方式呈現數據,以圖表的形式則更受歡迎,最後是C區對B區的圖表進行打印設置,輸入圖形文件。
標準化的界面方便了用戶快速掌握ERP系統的功能和操做方法,供讀者參考。每種模式都預先設計好通用的抽象窗體基類,具體的功能只須要繼承基類,重寫相應的方法便可達到目的。