專利名稱:一種統一菜單界面的方法、裝置及erp系統的制作方法
技術領域:
本發明屬于計算機領域,尤其涉及一種統一菜單界面的方法、裝置及ERP系統。
背景技術:
—個GUI風格的ERP系統常用的菜單實現方式主要有以下方式
(a).預先定義統一菜單將系統需要的菜單項預先定義在數據庫中或文件中,系 統啟動時動態加載菜單項,調用具體功能模塊時,具體的業務模塊中不再包含菜單,而是事 先將功能模塊需要的菜單全部加入主菜單; (b).分離式菜單主控程序只定義一些通用的全局菜單,主控程序只關心通用菜 單的處理,業務模塊的調用的入口不是主控程序菜單,而是使用功能樹等方式,具體的業務 功能菜單在各功能模塊中單獨定義; 預先定義統一菜單的方式可以保證菜單風格的一致,缺點是功能模塊中所有功能 菜單都需要統一地定義在主菜單中,如果功能模塊非常多的話,菜單項將變得非常多,不適 合大型ERP系統的開發或分布式的開發。 分離式菜單的方式適合大型ERP系統的開發或分布式的開發,缺點是子功能工具 欄或菜單與主菜單不是一個整體,導致界面風格有差異。 綜上所述,現有的使菜單界面風格統一的菜單實現方式僅適用于簡單、規模小的 ERP系統,在ERP系統的功能比較復雜時,不能使ERP系統中的多個功能模塊具有統一的菜 單界面風格。
發明內容
本發明實施例的目的旨在解決現有技術的大型ERP系統,菜單界面風格難以統一 的問題。 本發明實施例是這樣實現的,一種統一菜單界面的裝置,所述裝置包括主控模塊 和至少一業務模塊,所述裝置還包括 接口模塊,用于將從所述業務模塊復制的菜單對象加載在所述主控模塊的主菜單 上; 所述業務模塊用于當所述主控模塊調用所述業務模塊時,引用所述接口模塊將所 述業務模塊菜單對象的副本賦值給所述接口模塊的菜單對象屬性; 所述主控模塊用于當所述接口模塊得到所述業務模塊的菜單對象的副本后,引用 所述接口模塊加載所述菜單對象的副本在所述主控模塊的主菜單上。 本發明的另一 目的在于提供一種ERP系統,所述系統包括如上所述的統一菜單界 面的裝置。 本發明的另一目的在于提供一種統一菜單界面的方法,所述方法包括下述步驟
主控模塊發送調用業務模塊的指令; 所述業務模塊接收到所述指令后,引用接口模塊將所述業務模塊菜單對象的副本
3賦值給所述接口模塊的菜單對象屬性; 當所述接口模塊得到所述業務模塊的菜單對象的副本后,主控模塊引用所述接口 模塊加載所述菜單對象的副本在所述主控模塊的主菜單上。 在本發明實施例中,將接口模塊作為主控模塊和各業務模塊的橋梁,供各業務模 塊和主控模塊引用,業務模塊通過接口模塊將業務模塊內部的菜單對象傳遞到主控模塊, 主控模塊通過接口模塊將收到的菜單對象解析并融和到主控模塊的菜單上,實現了主控模 塊與各業務模塊菜單之間的無縫集成。
圖1是現有技術提供的統一菜單界面的裝置的結構框圖;
圖2本發明實施例提供的統一菜單界面的方法的實現流程圖。
具體實施例方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。 在本發明實施例中,將接口模塊作為主控模塊和各業務模塊的橋梁,供各業務模
塊和主控模塊引用,業務模塊通過接口模塊將業務模塊內部的菜單對象傳遞到主控模塊,
主控模塊通過接口模塊將收到的菜單對象解析并融和到主控模塊的菜單上。
圖1示出了本發明實施例提供的統一菜單界面的裝置的具體結構框圖,為了便于
說明,僅示出了與本發明實施例相關的部分。該統一菜單界面的裝置可以是內置于ERP系
統中的軟件單元、硬件單元或者軟硬件相結合的單元,或者作為獨立的掛件集成到ERP系
統或者ERP系統的應用系統中。其中統一菜單界面的裝置包括主控模塊11、接口模塊12
和至少一業務模塊13。 其中接口模塊12包括菜單復制單元121、菜單加載單元122以及菜單執行單元 123。 接口模塊12作為主控模塊11和各個業務模塊13的橋梁,供各個業務模塊13和 主控模塊ll引用。 具體過程詳述如下當ERP系統運行時,假設用戶點擊主控模塊11的某功能項開 始調用某一業務模塊13,業務模塊13在自身加載完成后,引用接口模塊12,通過接口模塊 12的菜單復制單元121將業務模塊13的菜單對象賦值給接口模塊12的接口對象,這樣接 口模塊12的接口對象就保留了業務模塊13的菜單對象的一份副本。由于主控模塊11也 可以引用接口模塊12,具體的可以通過主控模塊11中聲明的接口對象實例ThisForm觸發 接口模塊12的菜單加載單元122,菜單加載單元122通過PropertyChanged事件將接口對 象中儲存的業務模塊的菜單對象的副本解析后加載至主控模塊ll的主菜單中。當用戶點 擊主控模塊11的菜單時,觸發主控模塊11菜單控件Bar的ToolClick事件,在該事件中, 如果點擊的菜單項是通過前面方法加入到主控模塊11的菜單項時,系統將調用接口模塊 12的菜單執行單元123中定義的接口對象的FireToolBarClick方法,觸發ToolBarClick 事件通知業務模塊13對用戶操作做出響應。
作為本發明的一個優選實施例,接口模塊12還包括菜單移除單元,用于在將業務 模塊的菜單對象的副本加載至主控模塊的主菜單中之前,移除先前加入所述主控模塊中的 其它業務模塊的菜單對象,以簡化主控模塊菜單界面,具體可以通過PropertyChanged事
件實現。 其中,要預先在接口模塊12中定義一個接口對象,該接口對象包括一個類對象 ParentWindow,該類對象有如下成員 屬性ToolBar :用來保存業務模塊13中菜單對象的一個副本,定義格式是Public Property ToolBar as Object。 事件ToolBarClick :定義格式是Public Event ToolBarClick (Tool As Object, bUse As Boolean),在用戶點擊某菜單項時觸發,通知業務模塊13對用戶操作做出響應。
事 件PropertyChanged: 定 義 格 式 是Public Event PropertyChanged(ByValPropName As String), 當業務模塊13中調用了 Set ParentWindow. ToolBar = Bar,即給接口對象的ToolBar屬性賦值時,將觸發該事件。
方法FireToolBarClick : 定義格式是Public Function FireToolBarClick(ToolAs Object)As Boolean,當點擊主控模i央11的菜單時,調用該方 法,并將被點擊的菜單對象傳入,以明確是哪個菜單項被點擊,然后觸發ToolBarClick事 件通知業務模塊13對用戶操作做出響應。 下面是接口模塊12中設置ToolBar屬性的VB偽代碼,其中mToolBar是類對象 ParentWindow中的一個模塊級變量,用來保存菜單對象。
Private mToolBar As Object Public Property Set ToolBar(NewVal As Object)
Set mToolBar = NewVal RaiseEvent PropertyChanged(〃 ToolBar") End Property 下面是PropertyChanged事件的VB偽代碼如下 Public WithEvents ThisForm As kdvbf. ParentWindow Private Sub ThisForm—PropertyChanged(ByVal PropName As String) Case" ToolBar" Dim業務模i央13菜單的副本As Object Set業務模塊13菜單的副本=ThisForm. ToolBar 在將業務模塊的菜單對象加入主控模塊的主菜單前,先移除之前加入在主菜單中 的其它業務模塊的菜單對象 通過解析業務模塊13菜單對象的副本,把相同的菜單內容加入到主控模塊11的
主菜單中 End Sub 下面是主控模塊菜單控件Bar的ToolClick事件的VB偽代碼
Private Sub Bar_ToolClick(ByVal Tool As Object)
If Tool是主控模塊自己默認的菜單對象then
進行相關的處理
5
Else If Tool是業務模塊菜單對象then
ThisForm. FireToolBarClick Tool
End If
End Sub 下面是接口模塊12的FireToolBarClick方法的VB偽代碼
Public Function FireToolBarClick(Tool As Object)As Boolean
Dim b As Boolean b = False RaiseEvent ToolBarClick(Tool,b) FireToolBarClick = b End Function 下面是業務模塊13中對接口對象ToolBarClick實現的VB偽代碼 Private WithEvents ParentWindow As KDVBF. ParentWindow Private Sub ParentWindow—ToolBarClick(Tool As Object, bUse As Boolean) 把用戶點擊的菜單對象傳給自己模塊內的對應的處理函數處理,實現具體的業務功能。 bUse = True
End Sub 圖2示出了本發明實施例提供的統一菜單界面的方法的實現流程,詳述如下.
在步驟S201中,通過主控模塊發送調用業務模塊的指令。 作為本發明的一個實施例,當ERP系統運行時,假設用戶點擊主控模塊的某功能 項,則開始調用某一業務模塊。 在步驟S202中,業務模塊接收到所述指令后,引用接口模塊,將業務模塊內部菜 單對象賦值給接口模塊的接口對象。 作為本發明的一個實施例,業務模塊接收到調用指令后,自身加載完成后,引用接 口模塊,將其自身的菜單對象屬性賦值給接口模塊,這樣接口模塊的接口對象就保留了業 務模塊的菜單對象屬性的一份副本。 在步驟S203中,主控模塊引用接口模塊,將接口模塊的接口對象中存儲的業務模 塊的內部菜單對象解析后加載至主控模塊的主菜單中。 作為本發明的一個實施例,通過主控模塊中聲明的接口對象實例ThisForm觸發 接口模塊通過PropertyChanged事件將接口對象中儲存的業務模塊的菜單對象的副本解 析后加載至主控模塊的主菜單中。作為本發明的一個優選實施例,在將業務模塊的菜單對 象的副本加載至主控模塊的主菜單中之前,最好移除先前加入所述主控模塊中的其它業務 模塊的菜單對象,以簡化主控模塊菜單界面,具體可以通過PropertyChanged事件實現。具 體情況如上所述,在此不再贅述。 在步驟S204中,通過主控模塊接收操作菜單的指令。 在步驟S205中,當所操作的菜單項是新加載的業務模塊的菜單對象時,主控模塊 引用接口模塊通知業務模塊對操作菜單的指令作出相應的響應。 作為本發明的一個實施例,當用戶點擊主控模塊的菜單時,觸發主控模塊菜單控
6件Bar的ToolClick事件,在該事件中,如果點擊的菜單項是通過前面方法加入到主控模 塊的菜單項時,系統將調用接口模塊中定義的接口對象的FireTooIBarClick方法,觸發 ToolBarClick事件通知業務模塊對用戶操作做出相應的響應。具體情況如上所述,在此不 再贅述。 在本發明實施例中,將接口模塊作為主控模塊和各業務模塊的橋梁,供各業務模
塊和主控模塊引用,業務模塊通過接口模塊將業務模塊內部的菜單對象傳遞到主控模塊,
主控模塊通過接口模塊將收到的菜單對象解析并融和到主控模塊的菜單上,點擊主控模塊
的菜單,系統將通過接口模塊將對應的菜單命令傳遞給業務模塊,業務模塊根據該菜單命
令,執行相應的功能,實現了主控模塊與各業務模塊菜單之間的無縫集成。 以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精
神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
一種統一菜單界面的裝置,所述裝置包括主控模塊和至少一業務模塊,其特征在于,所述裝置還包括接口模塊,用于將從所述業務模塊復制的菜單對象加載在所述主控模塊的主菜單上;所述業務模塊用于當所述主控模塊調用所述業務模塊時,引用所述接口模塊將所述業務模塊菜單對象的副本賦值給所述接口模塊的菜單對象屬性;所述主控模塊用于當所述接口模塊得到所述業務模塊的菜單對象的副本后,引用所述接口模塊加載所述菜單對象的副本在所述主控模塊的主菜單上。
2. 如權利要求1所述的裝置,其特征在于,所述接口模塊還用于當接收到操作新加載 的菜單對象的菜單項的指令時,通知所述業務模塊對所述指令作出相應的響應;所述主控模塊還用于當接收到操作新加載的菜單對象的菜單項的指令時,再引用所述 接口模塊通知所述業務模塊對所述指令作出相應的響應。
3. 如權利要求1所述的裝置,其特征在于,所述接口模塊包括 菜單復制單元,用于存儲業務模塊的菜單對象的副本;菜單加載單元,用于將所述菜單對象的副本解析后加載至主控模塊的主菜單中。
4. 如權利要求3所述的裝置,其特征在于,所述接口模塊還包括菜單執行單元,用于當接收到操作新加載的菜單對象的菜單項的指令時,通知業務模 塊對所述指令作出相應的響應。
5. 如權利要求3所述的裝置,其特征在于,所述接口模塊還包括菜單移除單元,用于在將業務模塊的菜單對象的副本加載至主控模塊的主菜單中之 前,移除先前加入所述主控模塊中的其它業務模塊的菜單對象。
6. —種ERP系統,其特征在于,所述系統包括權利要求1至5任一權利要求所述的統一 菜單界面的裝置。
7. —種統一菜單界面的方法,其特征在于,所述方法包括下述步驟 主控模塊發送調用業務模塊的指令;所述業務模塊接收到所述指令后,引用接口模塊將所述業務模塊菜單對象的副本賦值 給所述接口模塊的菜單對象屬性;當所述接口模塊得到所述業務模塊的菜單對象的副本后,主控模塊引用所述接口模塊 加載所述菜單對象的副本在所述主控模塊的主菜單上。
8. 如權利要求7所述的方法,其特征在于,在所述主控模塊發送調用業務模塊的指令 的步驟之前或者所述當所述接口模塊得到所述業務模塊的菜單對象的副本后,主控模塊引 用所述接口模塊加載所述菜單對象的副本在所述主控模塊的主菜單上的步驟之后,所述方 法還包括下述步驟當主控模塊接收到操作新加載的菜單對象的菜單項的指令時,引用接口模塊通知業務 模塊對所述指令作出相應的響應。
9. 如權利要求7所述的方法,其特征在于,在所述當所述接口模塊得到所述業務模塊 的菜單對象的副本后,主控模塊引用所述接口模塊加載所述菜單對象的副本在所述主控模 塊的主菜單上的步驟之前,所述方法還包括下述步驟在將業務模塊的菜單對象的副本加載至主控模塊的主菜單中之前,接口模塊移除先前 加入所述主控模塊中的其它業務模塊的菜單對象。
全文摘要
本發明適用于計算機領域,提供了一種統一菜單界面的方法、裝置及ERP系統,所述裝置包括主控模塊和至少一業務模塊,所述裝置還包括接口模塊,用于將從所述業務模塊復制的菜單對象加載在所述主控模塊的主菜單上;所述業務模塊用于當所述主控模塊調用所述業務模塊時,引用所述接口模塊將所述業務模塊菜單對象的副本賦值給所述接口模塊的菜單對象屬性;所述主控模塊用于當所述接口模塊得到所述業務模塊的菜單對象的副本后,引用所述接口模塊加載所述菜單對象的副本在所述主控模塊的主菜單上。在本發明中,通過引用接口模塊,實現了主控模塊與各業務模塊菜單之間的無縫集成。
文檔編號G06F9/46GK101697138SQ200910110680
公開日2010年4月21日 申請日期2009年10月20日 優先權日2009年10月20日
發明者張慶 申請人:金蝶軟件(中國)有限公司;