NC开发笔记——NC57开发方法总结

 

修改端口

InvocationInfoProxy.getInstance().get().getUserCode();

前台

 

Nchome F:\JAVA\Projects\ERPEHROA\ufida\ufsoft\nchome\domain\server\conf

F:\JAVA\Projects\ERPEHROA\ufida\ufsoft\nchome\conf

Truncate Table [表名]menhe

ftp命令

service vsftpd  start

1.导入oracle数据库需要先建立用户然后在cdm下输入命令;

2.1档案

2.3单据

F5往下走会进入里面的方法里面;

F6就在本方法里面走;

F7跳出进入的方法;hang

F8 直接倒地

 

公司设置公司目录(集团)就可以在集团下插入数据时集团就自动进来;

 

public void afterEdit(BillEditEvent e) {

              // TODOAuto-generated method stub

              Object pkvalue =this.getBillCardPanel().getHeadItem("pk_message").getValueObject();

              String temKey =e.getKey();

              if(temKey.equalsIgnoreCase("")){

                     Object obj =e.getValue();

                     IUAPQueryBSiuap =(IUAPQueryBS)NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());

                     try {

                            //Objectobjvo = iuap.retrieveByPK(ProMessageVO.class, "");

                           

                            MyBillVOmvo = (MyBillVO)this.getChangedVOFromUI();

                            ProMessageVOhvo = (ProMessageVO)mvo.getParentVO();

                           

                            mvo.getChildrenVO();

                           

                            ProMessageVOvo = (ProMessageVO)HYPubBO_Client.queryByPrimaryKey(ProMessageVO.class,pkvalue.toString());

                            vo.getI_number();

                           

                     } catch(Exception e1) {

                            //TODO Auto-generated catch block

                            e1.printStackTrace();

                     }

              }

             

              super.afterEdit(e);

       }

 

1.修改时

//通过主键查询所有的vo 放到object里;

              Object pkvaluemap =this.getBillCardPanel().getHeadItem("pk_message").getValueObject();

//从页面通过一个字段 获取那个值

String a =getBillCardPanelWrapper().getBillCardPanel().getHeadItem("state").getValue();

 

2.从页面取值;

3.MyBillVO vo= (MyBillVO) getBufferData().getCurrentVO();

//通过下面的方法类的聚合VO;

                            MyBillVOmvo = (MyBillVO)this.getChangedVOFromUI();

                            //获得表头

                            ProMessageVOhvo = (ProMessageVO)mvo.getParentVO();

                            //获得标体

                            mvo.getChildrenVO();

 

//得到表体VO

CbGatheringBVO[]  bodyBVO =(CbGatheringBVO[])this.getBillCardPanelWrapper().getBillCardPanel().getBillModel("ps_cb_gathering_b").getBodyValueVOs(CbGatheringBVO.class.getName());

 

//用聚合VO得主键;只能在卡片管理下 才能获得主键

super.onBoCard();//卡片状态下

this.getBillUI().getChangedVOFromUI().getParentVO().getPrimaryKey();

 

3.从数据库里根据一个字段取值;

//声明一个接口

IUAPQueryBS iuap = (IUAPQueryBS)NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());

 

//根据那个字段查询有没有这条数据

                            Objectobjvo = iuap.retrieveByPK(ProMessageVO.class, "");

 

4,保存按钮时提示,验证在MyEventHandler

//方法重写

importnc.ui.pub.beans.MessageDialog;

protected void onBoSave() throws Exception {

              // TODOAuto-generated method stub

              this.getBillCardPanelWrapper().getBillCardPanel();

              MessageDialog.showWarningDlg(null,"提示", "项目编号已存在!");

              super.onBoSave();

       }

 

 

 

6.怎么获取一个VO

 

              SuperVO[] allProc =this.getBusiDelegator().queryByCondition(ZxProjectsetVO.class,"isnull(dr,0)=0");

                            HashMapprojectMapp = new HashMap();

                            if(allProc!= null) {

                                   intiLen = allProc.length;

                                   for(inti = 0; i < iLen; i++) {

                                          projectMapp.put((String)allProc[i].getAttributeValue("pk_corp"),(SuperVO)allProc[i]);

                                   }

                            }

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

                                   AggregatedValueObjectaVo = (AggregatedValueObject) Class

                                                 .forName(getUIControl().getBillVoName()[0])

                                                 .newInstance();

                                  

                                   ZxProjectsetVOresult = (ZxProjectsetVO)projectMapp.get(queryVos[i].getPrimaryKey());

 

 

在前台能获得任何VO的主键方法getPrimaryKey();

c:\\t.xml";

 

其中\\里面的第一个\为转义符号;因为\这个符号在java里面有特订的意思;要表示路径的话就要在加个转义符号;

IX,公司间调拨

7.

//通过一个sql语句(根据一个字段)查询一个VO;

IUAPQueryBS queryBS = (IUAPQueryBS)NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());  系统接口----可以查询时使用

CbGatheringVO cbGatheringVO = (CbGatheringVO)queryBS.executeQuery(sql,new BeanProcessor(CbGatheringVO.class));//可以根据sql语句来查询一个vo

 

queryBS.executeQuery(sql, new BeanListProcessor(UserVO.class));//得到UserVO的list

~~~~~~~~~~~~~~更新数据

nc.itf.uif.pub.IUifServicesrv=(nc.itf.uif.pub.IUifService)NCLocator.getInstance().lookup("nc.itf.uif.pub.IUifService");

 

 

//获取增加时的当前VO

//    AggregatedValueObjectVOS = this.getBillUI().getVOFromUI();

//    DispatchsBillVO VO =(DispatchsBillVO) VOS.getParentVO();

//    VO.setRelatekey(relatekey);

 

HYPubBO_Client.insert(VO);//VO插到数据库里面

//给表头页面set赋值

this.getBillCardPanelWrapper().getBillCardPanel().setHeadItem("relatekey", relatekey);

 

给表体赋值

getBillCardPanel().setBodyValueAt(值,行号,列名);

  //更新数据

      getBillUI().getBufferData().refresh();

8.光标移开时有验证不为空时;把当前文本清空

this.getBillCardPanel().getHeadItem("i_number").setValue(null);

 

 

 

9.命名规范,字符型以V开头

时间以D

数字以n

自定义项:

字符:10个 20位  ;5个 200位 ;3个500位 ;2 个2000位;

浮点:10个

整型:10个

 

 

10.快速查找页面节点所在的那个类

11.下拉菜单;S第一个,第二个,的三个

SX,自由态=8,审核态=1  1, 2

12.在oracle中 isnot不适用; 使用navl

 

13.Public里面的类都是自动生成的

Private里面的可以写一些动作脚本

Client里面主要是我们写的业务类

 

Public目录存放接口和公共代码(比如VO和公共算法)
l
Private目录存放实现和其它实现细节
l
Client目录存放客户端代码
l
gen 目录存放工具生成的ejb代码
l
META-INF目录存放模块配置文件目录,包括module.xml文件和xxx.module接口配置文件。

14.流程的版本谁的高走谁的;用户比角色优先级高;

15.公式

<nc.ui.dxty.pubui.PropertyStatusRefModel>

有的时候公式不执行就要

强制执行公式

 

可以放在重写方法里面;如:点击添加按钮时执行添加的重写方法;

//加载表头的编辑公式

getBillCardPanel().execHeadLoadFormulas();

//加载表体的公式

getBillCardPanelWrapper().getBillCardPanel().getBillModel().execLoadFormula();

 

//执行模板上的编辑公式

                         this.getBillCardPanel().getBillModel().execEditFormulasByKey(row,"invnum");

1.

2.

3.

4.

5.

6.

 

 

 

16.系统中的“耗时操作”进度条是如何实现的?

/**
        
* 启用系统运行提示框避免造成假死现象
        
*/
        private void onButton_import()
        {
                // 该操作是耗时操作,所以启用系统运行提示框
               
Runnable runImpDoc = new Runnable()
                {
                        public void run()
                        {
                                BannerDialog dialog = new BannerDialog(getCurrUI());
                                dialog.start();
                                try
                                {
                                        importData();
                                }
                                catch (Exception e)
                                {
                                        dialog.end();
                                        e.printStackTrace();
                                        return;
                                }
                                dialog.end();// 销毁系统运行提示框
                       
}
                };
                new Thread(runImpDoc).start();
        }
        /**
         * 系统运行提示框
        
*/
        private Container getCurrUI()
        {
                return this.getSelfUI();
        }

 

 

 

 

 

17. 自定义按钮

 

1 接口

Public

packagenc.ui.testkh.mybotton;

publicinterface IButDef {

   publicstaticfinalintboExcel = 300;

}

2.定义按钮

clientlis

package nc.ui.pub.buttonImp;

 

import nc.ui.pub.button.IButton;

import nc.ui.trade.base.IBillOperate;

import nc.vo.trade.button.ButtonVO;

 

publicclassPorjectButtonDeft {

 

   public ButtonVO getButtonVO(){

      ButtonVO btnVo=new ButtonVO();

      btnVo.setBtnNo(IButton.POJECTBUTTON);

      btnVo.setBtnCode("boProjectBtn");

      btnVo.setBtnName("项目调整");

      btnVo.setOperateStatus(

            newint[]{IBillOperate.OP_INIT,IBillOperate.OP_NOTEDIT}//IBillOperate.OP_NOTEDIT 设置按钮在编辑状态下可用

            );// 设置那个状态可用

      return btnVo;

   }

}

3.注册按钮

.....ClientUICtrl

IButton.POJECTBUTTON

4.注册按钮

....ClientUI

重写方法

@Override

   protectedvoidinitPrivateButton() {

      // TODOAuto-generated method stub

      super.initPrivateButton();

      PorjectButtonDeft pbd =newPorjectButtonDeft();

      addPrivateButton(pbd.getButtonVO());

   }

5写按钮的方法

MyEventHandler

 

@Override

   protectedvoid onBoElse(int intBtn) throws Exception {

      // TODOAuto-generated method stub

      super.onBoElse(intBtn);

      if(intBtn == IButton.POJECTBUTTON){

         //业务方法

         System.out.println("业务方法");

      }

   }

 

 

第二种:

@Override

   protectedvoid onBoElse(int intBtn) throws Exception {

      // TODOAuto-generated method stub

      super.onBoElse(intBtn);

      switch(intBtn){

      case  CreateEntryBill.CREATEBUTTON:

         creatEntryBill(intBtn);

         break;

      }

   }

   publicvoidcreatEntryBill(int intBtn){

     

   }

业务方法在下面写;上面直接调用方法就行‘;

 

18.建立项目不要在集团下建立;

19.

字段类型不匹配; PDM里面看看是否能不为空;

 

 

20,权限分配的时候没有你想要的那个节点;就要建立公司帐分配那个节点;

21.获取服务器时间;

 

getBillCardPanelWrapper().getBillCardPanel().setHeadItem("",ClientEnvironment.getServerTime().toString());

22.获取当前时间

getBillCardPanel().getHeadItem("dmakedate").setValue(new UFDate(

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NC57开发环境搭建需要以下步骤: 1. 准备服务器:首先需要一台运行Linux操作系统的物理或虚拟服务器。确保服务器具备足够的资源,如内存、处理器以及存储空间。 2. 安装操作系统:在服务器上安装合适的Linux发行版本,如CentOS、Ubuntu等。确保操作系统能够稳定运行,同时也要根据NC57的要求选择适当的版本。 3. 安装依赖软件:根据NC57的要求,安装必要的软件依赖项。这可能包括Java开发工具包(JDK)、Tomcat服务器、MySQL数据库等。确保依赖软件的版本正确,并按照官方文档的指引进行安装和配置。 4. 下载并导入NC57代码:从官方网站下载NC57的源代码,并将其导入到开发环境中。可以使用Git或直接下载源代码包来获取代码。确保源代码的完整性和正确性。 5. 配置和编译代码:根据NC57的配置文件要求,对相关配置文件进行修改,以满足特定需求。然后,使用构建工具(如Ant或Maven)编译NC57的代码,生成可执行文件或可部署的文件。 6. 部署和测试:将编译后的代码部署到Tomcat服务器中,并启动该服务器。然后,通过访问相关URL进行测试,确保NC57的功能正常运行。在测试过程中,需要注意日志输出和错误信息,以便及时发现和解决问题。 7. 集成开发环境(可选):如有需要,可以在开发环境中集成一些常用的开发工具,如Eclipse或IntelliJ IDEA。这些工具可以提供更好的编码支持、调试功能等,有助于开发人员快速开发和调试NC57的代码。 8. 持续集成和部署(可选):如有需要,可以设置持续集成和部署流程,确保NC57的代码在每次提交后能够自动构建、测试和部署。这可以提高开发效率和软件质量。 综上所述,NC57开发环境搭建需要进行操作系统安装、软件依赖项安装、代码下载与配置、编译与部署以及测试等步骤。这些步骤旨在确保开发环境能够稳定运行并能够顺利进行NC57开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值