天天看點

NC57 開發小結篇

1、編輯表頭、表體資料的操作方法。以編輯後事件afterEdit函數為例。

public void afterEdit(BillEditEvent e) {
		String key=e.getKey();//擷取目前操作字段的code值
		int pos=e.getPos();   //擷取目前操作區域,用來判斷是否為表頭表體,0為表頭,1為表體
		int row=e.getRow();   //擷取目前操作的行數
		int rowRow = getBillCardPanel().getRowCount(); //擷取目前表體的總行數
		if(pos==0){
		  //目前操作區域為表頭
		  //擷取目前表頭相對應的字段字段值
		  Object status=getBillCardPanel().getHeadItem("status").getValueObject();
		  //設定目前表頭相對應的字段字段值
		  getBillCardPanel().getHeadItem("status").setValue("");
		}else if(pos==1){
		  //目前操作區域為表體
		  //擷取目前操作行相對應的字段字段值(2種方法)
		  Object number_pk = getBillCardPanel().getBodyValueAt(row, "number_pk");
		  Object number_pk = getBillCardPanel().getBillModel().getValueAt(row, "number_pk");
		  //設定目前操作行相對應的字段字段值
		  getBillCardPanel().getBillModel().setValueAt("值", row, "number_pk");
		}
		//注意表頭、表體擷取設定目前字段字段值可靈活使用,不必拘泥于目前
		getBillCardPanel().getHeadItem("字段code").setValue("值");           //表頭設值
		getBillCardPanel().getBillModel().setValueAt("值", 行數, "字段code");//表體設值
		getBillCardPanel().getTailItem("字段code").setValue("值");           //表尾設值
		
		getBillCardPanel().getHeadItem("字段code").getValueObject();         //表頭取值
		getBillCardPanel().getBodyValueAt(行數, "字段code");                 //表體取值
		getBillCardPanel().getTailItem("字段code").getValueObject();         //表尾取值
		super.afterEdit(e);
	}
           

2、頁簽操作相關

//擷取目前操作表體頁簽的編碼
	String tabCode = getBillCardPanel().getBodyTabbedPane().getSelectedTableCode();
	//設定對應頁簽下指定按鈕是否為可操作
	getButtonManager().getButton("按鈕code").setEnabled(!tabCode.equals("頁簽code"));
	//設定完畢必須更新按鈕,更新完才能顯示效果
	updateButtons();

    //指定頁簽下增加一行操作,可在【新增】等按鈕操作或者其他适用範圍使用
	getBillCardPanel().addLine("頁簽code");
           

3、注意事項

  • 出更新檔要注意路徑:可以根據package路徑通過搜尋找到該類的class類或者jar包,根據他們路徑modules後的子產品名就是要出的對應子產品,等到我們把更新檔出了,要把子產品名字改成aim,因為很多時候我們不是在對應的項目中開發,會用到别的子產品的代碼,是以就有了這個操作的需求。
    NC57 開發小結篇
  • 反編譯要注意:一般情況下,我們做二次開發,都難免會遇到要反編譯對應功能的代碼,往往有時候在查詢該類時遇到有兩個相同類,一個是classes下的,另一個是jar包下的,如上圖,這時候我們要用哪個呢,一定要用classes的,這是因為之前已經有人反編譯過源碼,改過源碼重新出過更新檔打上了,是以我們要在前人修改的基礎上來改代碼,如果沒classes,那就直接反編譯jar下的。

4、建立節點在功能注冊完畢後,到對應子產品功能下找不到怎麼辦?

登入集團賬号,去到【客戶化】–【二次開發工具】–【系統管理工具】–【自定義菜單】裡面搜尋剛剛建立的節點編碼或者名稱,找到對應的節點把他拉到你想要的子產品功能下即可,為什麼建立的節點會跑到其他子產品下,這個就不太清楚,反正會遇到這種情況。

5、建立節點在集團下可以看到,在公司下無法看到怎麼辦?

登入集團賬号,去到【客戶化】–【權限管理】配置設定對應的角色權限即可。

6、在建立的彈出框(參照等),查詢條件為“1=1”,然後表頭表體沒有資料,背景報錯“流程平台:單據類型****注冊的業務類名稱為空”?

登入集團賬号,去到【客戶化】–【二次開發工具】–【流程配置】–【資料交換管理】找到對應的單據,給它添加上或者下遊單據,儲存好後進行資料交換,報錯則點确定直接進入到另一個頁面,在該頁面點選儲存,儲存成功後即可。若儲存失敗,報ant/project的錯誤,則要去到【Java Build Path】—【Order And Export】去把Ant_Library勾選上,再啟環境就可以了。

7、PDM導入資料字典成功,在單據模闆初始化中缺失很多字段,然後回到資料字典這些字段又存在,确實導入成功了?

這是PDM檔案裡面定義字段類型定義錯了才會出現,在定義字元串varchar的時候,不要使用varchar2這個類型,使用了這個類型即使導入成功也會在單據模闆哪裡出不來。

8、新增自定義按鈕後,無論怎麼設定按鈕的顯示狀态,都顯示不出來?

因為在【客戶化】–【二次開發工具】–【系統管理工具】-【功能注冊】-把按鈕權限這個項目勾選上了,還有對新的按鈕有沒有增權重限,就無法顯示出來,想要最快解決就把勾選去掉,配置等以後再來,對開發不影響。

繼續閱讀