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