e3Admin
![[Avatar]](/forum/images/avatar/a87ff679a2f3e71d9181a67b7542122c.png)
註冊時間: 2011-06-09 18:31:13
文章: 73
離線
|
所有客制套件最先整合的是選單,
把各個要客制的功能先列在選單中,
包含要重載的程式, 也是在選單中
做設定. 請看 SDK中的範例專案的
com.dasam.e3010001.client.SystemDataCmz.java
package com.dasam.e3010001.client;
import com.dasam.work.XRowSet;
import com.dasam.work.XLet;
import com.dasam.client.menu.XMenuAdd;
import com.dasam.client.XSystem;
public class SystemDataCmz {
//--------------------------------------------------------------------------
//data : 原menu資料,要預防原系統的class id名稱,
//insPoint : menu內定統一要加入的點,也可以自己設定,內定:"_window"
public static XRowSet addMenuData(XRowSet data, String insPoint) throws Exception {
XMenuAdd x = new XMenuAdd();
XRowSet rs = x.createRsMenu();//開空menu
//加入menu,名稱前加".",表示不轉語系,
x.add0(rs,"X",".客制","_XX",null);
x.add2(rs,1,"A",".產品組合單建立","edit.CmzBomItem",1,"edit_2",2,null);
x.add2(rs,1,"B",".產品多階展開表","rpt.CmzBomLevelList",1,"report_1",3,null);
x.addLine(rs,1);
x.add2(rs,1,"C",".取得主機時間","cmz_get_server_time",1,null,0,null);
x.addLine(rs,1);
x.add2(rs,1,"D",".郵遞區號編輯","edit.CmzZipCode",1,"edit_1",2,null);
x.add2(rs,1,"E",".會員郵寄標籤","rpt.CmzMemberMailLabel",1,"report_3",3,null);
x.addLine(rs,1);
x.add1(rs,1,"Z",".會員年費管理","_X_Z",null);
x.add2(rs,2,"A",".會員年費單編輯","edit.CmzMemberYearFee",1,"edit_1",2,null);
x.add2(rs,2,"B",".會員年費單列表","rpt.CmzMemberYearFeeList",1,"report_1",3,null);
//將結構加在'視窗'之前
data = com.dasam.client.system.XSystemData.insertMenuData(data, rs, insPoint);
//做原程式extends,
//Item_2 --> Item == 商品加入組合頁簽
//Member_2 --> Member == 會員加入郵遞區號
x.setExtendId(data, new String[]{
"edit.Item",
"edit.Member",
}, "_2");
//刪除原系統menu
//x.delete(data, "edit.OutStk");
return data;
}
//--------------------------------------------------------------------------
//執行授權的序號
public static boolean isAuthorize() throws Exception {
return true;
//return XSystem.isPassSerial("01-001-0104,01-001-0105");
}
}
所以我們在執行這個客制插件時, 在主選單會出現
這裡所增加的部份在 "視窗" 選單的前面. 這支程式
像客制專案的定義區, 定義增加那些程式功能, 或修
改那些程式.
行20是根節點, 在加在選單的根部.
行23,25,28是產生一條選單的線,做分隔.
行29是選單子節點.
行21是實際要加入的選單功能
x.add2(rs,1(x),"A",".產品組合單建立","edit.CmzBomItem",1,"edit_2",2,null);
"x" 的參數是節點的階層, 要設對, 從1開始
"A" 在傳統選單, 有快捷鍵作用
".產品組合單建立" 選單名稱, 單語系一定要以"."做開頭.
"edit.CmzBomItem" 指按下選單後要執行的程式名稱, 實際是 com.dasam.e3010001.client.edit.CmzBomItem.java
"edit_2" 是icon樣式,也可以自行加入
行39~42是重載執行, 主要用於修改原程式用.
行53~69是設定可以執行套件的權限, 以產品序號為識別.
|