[Logo]  E3系統 開發.操作.問題 討論區 
[Search] 搜尋主題 [Recent Topics] 最新主題 [Hottest Topics] 熱門主題 [Members] 會員列表 [Groups] E3首頁
[Register] 會員註冊 [Login] 會員登入
開始起點 SystemDataCmz.java  XML
討論區首頁 » Java程式分析與設計
發表人 內容
e3Admin

[Avatar]

註冊時間: 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是設定可以執行套件的權限, 以產品序號為識別.


修改5次,最後2011-06-25 18:17:25  

輕輕敲醒沈睡的心靈~  企鵝的初章 ^^
 
討論區首頁 » Java程式分析與設計
前往:   

2011 DASAMX GROUP.    Powered by JForum 2.1.9©    建議使用Firefox瀏覽