国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

NC57,NC63-NC二開經驗總結

2019-11-15 00:25:14
字體:
來源:轉載
供稿:網友
NC57,NC63-NC二開經驗總結

版主2010級市場營銷專業本科生

2013年8月入達內培訓java相關技術

12月入職,做用友NC的二次開發工作

2015年4月離職,4中下旬入職一家互聯網金融企業

下面是做NC二開期間積累的一些常用的技術點,供NC實習生參考,不謝!

原 docx 文件下載 http://files.VEVb.com/files/liaolongjun/ExNC.zip

下面是從Word文檔里拷貝進來的,圖片全都沒有了。需要的可以直接下載上面鏈接的文檔。

NC二開經驗總結公式相關1.顯示公式沒執行

列表界面顯示,卡片界面不顯示:

Handler的onBoCard執行:getBillCardPanel().execHeadLoadFormulas();

Controller的isLoadCardFormula返回true

另外,字段錄入長度不夠時,列表顯示,卡片不顯示

2.帶出數據執行公式

表頭顯示公式,執行getBillCardPanel().execHeadLoadFormulas();

表體顯示公式,執行getBillCardPanel().getBillModel().execLoadFormula();

補充:上面是最簡單的方法,其它自己測試。比如,指定表體行執行公式:

// 下面的方法必須設置編輯公式 –- 用for循環效果等于上面的方法

getBillCardPanel().execBodyFormula(i, "pk_supdoc");

UI1.列表界面設置可多選

public ClientUI(){

super();

getBillListPanel().setMultiSelect(true);

}

2.查詢條件

UIDialog dlg = getQueryUI();

if(dlg.showModal() != 1) return;

INormalQuery query = (INormalQuery)dlg;

String sql = query.getWhereSql();

3.隱藏表體字段

BillData bs = getBillCardPanel().getBillData();

BillItem[] items = bs.getBillModel().getBodyItems();

for (int i = 0; i < items.length; i++) {

items[i].setShow(false);

}

getBillCardPanel().setBillData(bs); // 必須有這一行

4.隱藏表頭字段

方法一:

billCardPanel.getHeadItem("hzdy42").getComponent().setVisible(false);

billCardPanel.getHeadItem("hzdy42").getCaptionLabel().setText("");

方法二:

billCardPanel.hideHeadItem(new String[]{"hzdy38","hzdy39","hzdy40","hzdy41","hzdy42"});

5.將AggVO顯示到單據界面上

billCardPanel.setBillValueVO(aggvo);

系統變量相關1.單據號

前置任務:配置單據號規則

創建單據號:new HYPubBO().getBillNo(單據類型, 組織, null, null);

或者:getVbillCode(單據類型,組織);

new BillcodeGenerater ().getBillCode (單據類型, 組織,null,null);

2.主鍵

KeyGenerator.getInstance().getKey(20);

3.獲取nchome路徑

RuntimeEnv.getInstance().getNCHome();

4.系統變量

InvocationInfoPRoxy

WorkbenchEnvironment

ClientEnvironment

5.設置客戶端背景色

F:/NC63/AceHome/ierp/sf/themeconf.xml

模塊相關1.添加模塊

META-INF里面必須有module.xml,Sysconfig下才能找到該模塊

2.單據類型沒有定義所屬模塊

產生這個異常的原因是:單據類型沒在添加在項目模塊里,而是在自己的模塊里,在單據類型表里:bd_billtype,把單據的systemcode改為項目模塊即可

單據動作相關1.動作注冊

從pub_billaction表里復制其它單據的動作,修改單據類型、ID即可

2.動作代碼路徑

modules -> 單據類型所在模塊 -> META-INF -> var -> source

3.按鈕顯示

只顯示isEnabled()==true的按鈕:

int[] btnAry = ((LController) getUIManageController()).getCardButtonAry();

for (int i = 0; i < btnAry.length; i++) { getBillUI().getButtonManager().getButton(btnAry[i]).setVisible(getBillUI().getButtonManager().getButton(btnAry[i]).isEnabled());

}

單據模版相關1.下拉字段

數據庫里保存的是 0、1、2、3.。。。所以vo里對應Integer

getBillCardWrapper().initHeadComboBox("vname", new String[]{"A","B","C"}, true);

2.日期型字段

單據模板是日期型時,vo要為UFDate

3.日期型默認取值

4.查詢所有的默認查詢條件

5.調用模板

數據庫操作相關1. HYPubBO_Client

findColValue方法只能查詢字符型字段(因為這個方法內嵌了String強轉)

2.Jdbcsession

JdbcSession session = null;

session = PersistenceManager.getInstance().getJdbcSession();

session = JdbcSessionUtil.createJdbcSession();

密碼相關1.root密碼修改

補丁相關1.如何打補丁

在modules里找到相應的模塊,將public、private、client下的代碼導出的jar包放到模塊的lib文件夾下,開發工具重新加載下即可(怎么重新加載?--重啟,再重啟,直到開發工具能加載到剛導入的jar包里的類)

運行相關1.啟動中間件報錯

2.startup.bat啟動服務卡著不動

元數據相關1.單據日期

配置文件相關1.配置文件變量名寫錯

節點相關1.打開其它節點

直接點開指定的節點,沒有數據:SFClientUtil.openFrame("ZZ0102"); // 下面的還沒測試

參照相關1.表頭參照多選取值

((UIRefPane) billCardPanel.getHeadItem("hzdy41").getComponent()).getRefModel().getPkValues();

2.動態指定參照類

((UIRefPane)(getBillCardPanelWrapper().getBillCardPanel().getHeadItem("字段").getComponent())).setRefModel(參照類.class);

3.設置參照是否支持多選

((UIRefPane) editor.getBillCardPanel().getHeadItem("vpsn").getComponent()).setMultiSelectedEnabled(true);

4. 設置參照只顯示一級

5.參照字段實現手輸

6.如何知道一個字段的參照類型:

Object obj = ((UIRefPane)getBillCardPanel().getHeadItem("").getComponent()).getRefModel();

Syttem.out.println(obj);

下拉相關1. 下拉去掉空白選項

預警1.配置

其它1.命名規則

2.表空間的概念

3.獲取用戶有權限的組織

實用方法1.獲取表體所有頁簽名

getBillCardPanel().getBillData().getBodyTableCodes();

2.獲取表體指定行的vo

getBillModel("頁簽名").getBodyValueRowVO(rownum, className);

3.單據狀態欄打印消息

ShowStatusBarMsgUtil.showStatusBarMsg

4.獲取ts

CurTime.getCurrentTimeStampString();

5.創建主鍵

new SequenceGenerator().generate(pk_corp,num);

6. 保留小數點后2位,并“四舍五入”

new UFDouble().setScale(2, UFDouble.ROUND_HALF_UP);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石台县| 临湘市| 双牌县| 合江县| 抚宁县| 邛崃市| 阳谷县| 莫力| 平顶山市| 青岛市| 卓尼县| 二连浩特市| 承德县| 喀喇沁旗| 天等县| 灵台县| 北流市| 延津县| 介休市| 伊宁县| 永新县| 武强县| 临猗县| 淮阳县| 乌拉特前旗| 达拉特旗| 镇平县| 谷城县| 漳平市| 彭山县| 左权县| 福泉市| 靖远县| 兖州市| 奉新县| 鄯善县| 明光市| 叙永县| 兴宁市| 北辰区| 抚顺市|