用友nc-uap单据开发手册

用友nc-uap单据开发手册

ID:35225226

大小:1.98 MB

页数:39页

时间:2019-03-22

上传者:U-25932
用友nc-uap单据开发手册_第1页
用友nc-uap单据开发手册_第2页
用友nc-uap单据开发手册_第3页
用友nc-uap单据开发手册_第4页
用友nc-uap单据开发手册_第5页
资源描述:

《用友nc-uap单据开发手册》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

用友NC客户化开发手册用友NC客户化开发手册NC-UAP5.7用友NC-UAP作者:杨军2012-7-10 用友NC客户化开发手册初级开发开发环境搭建一、配置nchomebin文件夹下ncSysConfig.bat1、配置数据源(通常情况下:design为默认数据源名称,如果有两个数据库以上,需要配置多个数据源)2、配置端口(这里配置端口参考nchomeconfserver.xml) 用友NC客户化开发手册二、配置eclipse开发工具1、配置MDEDevelopment(Window->Preferences->MDEDevelopment)选择nchome所在位置、检查数据库连接是否通过、设置数据源为默认数据源、点击ok设置完成。设置端口(与nchomebin文件夹下ncSysConfig.bat配置端口一致)2、配置InstalledJERs注意:nchomeufjdkjrelibplugin.jar和nchomeufjdklibtools.jar为必选插件,不然启动客户端的时候会报错。 用友NC客户化开发手册点击确定,完成配置(最好留下当前在用的JERs,其他全部Remove掉)3、建立ModuleProject(选择ModuleProject->填写ProjectName->ModuleName->点击Finish) 用友NC客户化开发手册工程建立完成后如下图:4、配置eclipse内存 用友NC客户化开发手册-Dnc.exclude.modules=${FIELD_EX_MODULES}-Dnc.runMode=develop-Dnc.server.location=${FIELD_NC_HOME}-DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLDExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLs-Xms768m-Xmx768m表设计(PowerDesigner建模) 用友NC客户化开发手册建表tschar(19)nulldefaultconvert(char(19),getdate(),20),特别注意建表时必须加ts和drdrsmallintnulldefault0主表建表脚本:createtabledj_loan(pk_loanchar(20)notnull,pk_corpchar(4)null,pk_busitypechar(20)null,pk_billtypevarchar(4)null,vbillstatussmallintnull,vbillnovarchar(30)null,dbilldatechar(10)null,voperatoridchar(20)null,dmakedatechar(10)null,vapproveidchar(20)null,dapprovedatechar(10)null,vapprovenotevarchar(512)null,vdealeridchar(20)null,vdeptidchar(20)null,vmemovarchar(2048)null,vdef1varchar(100)null,vdef2varchar(100)null,vdef3varchar(100)null,vdef4varchar(100)null,vdef5varchar(100)null,vdef6varchar(100)null,vdef7varchar(100)null,vdef8varchar(100)null,vdef9varchar(100)null,vdef10varchar(100)null,vreserve1varchar(100)null,vreserve2varchar(100)null,vreserve3varchar(100)null,vreserve4varchar(100)null,vreserve5varchar(100)null,vreserve6varchar(100)null,vreserve7varchar(100)null,vreserve8varchar(100)null,vreserve9varchar(100)null,vreserve10varchar(100)null,pk_accountchar(20)null, 用友NC客户化开发手册pk_hallchar(20)null,vmknovarchar(30)null,nloanmnydecimal(20,8)null,dloandatechar(10)null,nloanquotadecimal(20,8)null,nsignquotadecimal(20,8)null,drepaydatechar(10)null,vmarkernamevarchar(40)null,vrepaynamevarchar(40)null,nrepaymnydecimal(20,8)null,nrepayinterestmnydecimal(20,8)null,vsecurityvarchar(40)null,dtrdatechar(10)null,iloantypevarchar(20)null,vhandpersonvarchar(40)null,iscountchar(1)null,isusechar(1)null,constraintpkpm_noncontfeeprimarykeynonclustered(pk_loan),tschar(19)nulldefaultconvert(char(19),getdate(),20),特别注意建表时必须加ts和drdrsmallintnulldefault0)Go子表建表脚本:createtabledj_loan_b(pk_loan_bchar(20)notnull,pk_loanchar(20)null,vmemovarchar(100)null,vdef1varchar(100)null,vdef2varchar(100)null,vdef3varchar(100)null,vdef4varchar(100)null,vdef5varchar(100)null,vdef6varchar(100)null,vdef7varchar(100)null,vdef8varchar(100)null,vdef9varchar(100)null,vdef10varchar(100)null,vreserve1varchar(100)null,vreserve2varchar(100)null,vreserve3varchar(100)null,vreserve4varchar(100)null,vreserve5varchar(100)null, 用友NC客户化开发手册vreserve6varchar(100)null,vreserve7varchar(100)null,vreserve8varchar(100)null,vreserve9varchar(100)null,vreserve10varchar(100)null,vsourcebilltypevarchar(4)null,vsourcebillidchar(20)null,vsourcebillrowidchar(20)null,inumberintnull,vrepaypersonvarchar(40)null,nrepaymnydecimal(20,8)null,nrepayinterestdecimal(20,8)null,nsurplusmnydecimal(20,8)null,drepaydatechar(10)null,dtrdatechar(10)null,isshareholderchar(1)null,pk_mkrepaychar(20)null,constraintpkpm_costbill_bprimarykeynonclustered(pk_loan_b),tschar(19)nulldefaultconvert(char(19),getdate(),20),特别注意建表时必须加ts和drdrsmallintnulldefault0)go导入数据字典 用友NC客户化开发手册 用友NC客户化开发手册VO生成第一步:二次开发工具->UAP集成开发工具->UAP集成开发工具第二步:工具和选项->根据数据源生成VO第三步:选择数据库表->把主子表拉到相应位置->点击确定 用友NC客户化开发手册第四步:把生成的VO拷贝到eclipse开发工具中(src/public文件夹下) 用友NC客户化开发手册功能注册说明:nc.ui.study.h101.ClientUI为客户端入口类,ClientUI名字一般都是写成这个,nc.ui.study.h101.为每个功能节点对应的包名。自定义菜单说明:新建的节点,系统一般都会把它归纳在其他节点上面去,这样分配权限的时候就找不到对应的节点进行分配权限,所以一般需要在自定义菜单这里点击恢复默认结构,这样在分配权限的时候才能看到对应的节点。分配权限说明:权限管理->权限分配->保存 用友NC客户化开发手册单据类型注册说明:二次开发工具->单据管理->单据类型管理单据模板生成说明:二次开发工具->模板管理->单据模板初始化第一步:填写单据模板类型(如果第一次则需要填写,一般跟单据类型一致)、选择主表和子表、点击增加按钮(如果是第一次则点击增加,否则点击修改按钮) 用友NC客户化开发手册第二步:选择主表和子表 用友NC客户化开发手册修改页签项目编辑和项目重新排序Ctrl+S保存(第一次保存需要填写模板标题和节点号)查询模板生成生成查询模板 用友NC客户化开发手册 用友NC客户化开发手册单据分配查询模板VO对照主表 用友NC客户化开发手册子表 用友NC客户化开发手册动作脚本执行动作脚本sql语句InsertintoPUB_BUSICLASS(ACTIONTYPE,CLASSNAME,DR,ISBEFORE,PK_BILLTYPE,PK_BUSICLASS,PK_BUSINESSTYPE,PK_CORP,TS)Values('APPROVE','N_H101_APPROVE',0,'N','H101','0001AA000000000H1011',null,null,'2011-09-0910:01:05');InsertintoPUB_BUSICLASS(ACTIONTYPE,CLASSNAME,DR,ISBEFORE,PK_BILLTYPE,PK_BUSICLASS,PK_BUSINESSTYPE,PK_CORP,TS)Values('DELETE','N_H101_DELETE',0,'N','H101','0001AA000000000H1012',null,null,'2011-03-2111:10:02');InsertintoPUB_BUSICLASS(ACTIONTYPE,CLASSNAME,DR,ISBEFORE,PK_BILLTYPE,PK_BUSICLASS,PK_BUSINESSTYPE,PK_CORP,TS)Values('UNAPPROVE','N_H101_UNAPPROVE',0,'N','H101','0001AA000000000H1013',null,null,'2011-03-2111:09:32');InsertintoPUB_BUSICLASS(ACTIONTYPE,CLASSNAME,DR,ISBEFORE,PK_BILLTYPE,PK_BUSICLASS,PK_BUSINESSTYPE,PK_CORP,TS)Values('EDIT','N_H101_EDIT',0,'N','H101','0001AA000000000H1014' 用友NC客户化开发手册,null,null,'2011-03-2111:09:53');InsertintoPUB_BUSICLASS(ACTIONTYPE,CLASSNAME,DR,ISBEFORE,PK_BILLTYPE,PK_BUSICLASS,PK_BUSINESSTYPE,PK_CORP,TS)Values('WRITE','N_H101_WRITE',0,'N','H101','0001AA000000000H1015',null,null,'2011-03-2111:09:22');InsertintoPUB_BUSICLASS(ACTIONTYPE,CLASSNAME,DR,ISBEFORE,PK_BILLTYPE,PK_BUSICLASS,PK_BUSINESSTYPE,PK_CORP,TS)Values('SAVE','N_H101_SAVE',0,'N','H101','0001AA000000000H1016',null,null,'2011-03-2111:09:22');代码修改代码copy聚合VO修改类名:nc.vo.ps.bz1002.MyBillVOpublicvoidsetChildrenVO(CircularlyAccessibleValueObject[]children){if(children==null||children.length==0){super.setChildrenVO(null);}else{//super.setChildrenVO(children);//单表super.setChildrenVO((StockItemsVO[])children);//主子表}} 用友NC客户化开发手册修改ClientUICtrl单据类型publicStringgetBillType(){return“H101";}获取单据VO信息publicString[]getBillVoName(){returnnewString[]{MyBillVO.class.getName(),StockVO.class.getName(),StockItemsVO.class.getName()};}子表PKpublicStringgetChildPkField(){return"pk_stock_id";}没子表时返回null保存主子表单表头或单表体publicclassClientUICtrlextendsAbstractManageControllerimplementsISingleController{}主子表publicclassClientUICtrlextendsAbstractManageController{}实现了implementsISingleController接口,只保存单表头或单表体 用友NC客户化开发手册设置默认值publicvoidsetDefaultData()throwsException{BillFieldfileDef=BillField.getInstance();UFDatedmakedate=ClientEnvironment.getInstance().getDate();Stringbilltype=getUIControl().getBillType();StringpkCorp=ClientEnvironment.getInstance().getCorporation().getPrimaryKey();fileDef.getField_BillStatus();//取操作员Stringpk_manager=ClientEnvironment.getInstance().getUser().getPrimaryKey();getBillCardPanel().setHeadItem("pk_corp",pkCorp);//公司主键getBillCardPanel().setHeadItem("vbillstatus",newInteger(IBillStatus.FREE).toString());//单据状态默认为自由态getBillCardPanel().setHeadItem("voperatorid",pk_manager);//制单人getBillCardPanel().setHeadItem("dmakedate",dmakedate);//制单日期getBillCardPanel().setHeadItem("pk_billtype",billtype);//单据类型}设置单据号到这个阶段,单据的增删改查功能操作基本完成。 用友NC客户化开发手册中级开发增加自定义按钮按钮IDpackagenc.ui.ps.bz.button;/******************************************************************@功能:公共自定义按钮接口**@创建日期:2010-6-4创建人:赖利荣**@修改日期:**@修改内容:**@单位:珠海用友软件有限公司版本1.0V*/publicinterfaceUserDefButton{/***导入按钮2010-6-4*/publicfinalstaticintfileInt=510;/***导出按钮2010-6-4*/publicfinalstaticintfileOut=511; 用友NC客户化开发手册/***文件管理*/publicfinalstaticintfileIO=512;}按钮VOpackagenc.ui.ps.bz.button;importnc.vo.trade.button.ButtonVO;/********************************************************************************@功能:**@创建日期:2010-6-4创建人:赖利荣**@修改日期:**@修改内容:**@单位:珠海用友软件有限公司版本1.0V*/publicclassUserDefButtonVO{/****************************************************************************@功能:导入按钮**@创建日期:2010-6-4创建人:赖利荣* 用友NC客户化开发手册*@修改日期:**@修改内容:**@return*/publicButtonVOgetFileInt(){ButtonVObtVO=newButtonVO();btVO.setBtnNo(UserDefButton.fileInt);btVO.setBtnCode("导入");btVO.setBtnName("导入");btVO.setHintStr("导入");btVO.setBtnChinaName("导入");btVO.setOperateStatus(newint[]{nc.ui.trade.base.IBillOperate.OP_ALL});btVO.setBusinessStatus(newint[]{nc.vo.trade.pub.IBillStatus.ALL});returnbtVO;}/***@功能:导出按钮*@创建日期:2010-6-4创建人:赖利荣*@修改日期:*@修改内容:*@return*/publicButtonVOgetFileOut(){ButtonVObtVO=newButtonVO();btVO.setBtnNo(UserDefButton.fileOut);btVO.setBtnCode("导出");btVO.setBtnName("导出");btVO.setHintStr("导出");btVO.setBtnChinaName("导出");btVO.setOperateStatus(newint[]{nc.ui.trade.base.IBillOperate.OP_ALL});btVO.setBusinessStatus(newint[]{nc.vo.trade.pub.IBillStatus.ALL});returnbtVO;}/** 用友NC客户化开发手册*@功能:文件管理按钮*@创建日期:2010-6-4创建人:赖利荣*@修改日期:*@修改内容:*@return*/publicButtonVOgetFileIntOut(){ButtonVObtVO=newButtonVO();btVO.setBtnNo(UserDefButton.fileIO);btVO.setChildAry(newint[]{UserDefButton.fileInt,UserDefButton.fileOut});btVO.setBtnCode("文件管理");btVO.setBtnName("文件管理");btVO.setHintStr("文件管理");btVO.setBtnChinaName("文件管理");btVO.setOperateStatus(newint[]{nc.ui.trade.base.IBillOperate.OP_ALL});btVO.setBusinessStatus(newint[]{nc.vo.trade.pub.IBillStatus.ALL});returnbtVO;}}修改入口类ClientUI 用友NC客户化开发手册重写@Override/***************************************************************注册自定义按钮(重写initPrivateButton)*/protectedvoidinitPrivateButton(){UserDefButtonVOuButtonVO=newUserDefButtonVO();//文件管理addPrivateButton(uButtonVO.getFileIntOut());//导入addPrivateButton(uButtonVO.getFileInt());//导出addPrivateButton(uButtonVO.getFileOut());super.initPrivateButton();}增加按钮publicint[]getCardButtonAry(){returnnewint[]{IBillButton.Query,IBillButton.Add,IBillButton.Edit,IBillButton.Delete,IBillButton.Save,IBillButton.Cancel,IBillButton.Line,IBillButton.Return,IBillButton.Card,IBillButton.Refresh,IBillButton.Print, 用友NC客户化开发手册UserDefButton.fileIO};}/**************************************************************************IBillButton.Del直接删除数据,IBillButton.Delete修改删除标志*/publicint[]getListButtonAry(){returnnewint[]{IBillButton.Query,IBillButton.Add,IBillButton.Edit,IBillButton.Delete,IBillButton.Save,IBillButton.Cancel,IBillButton.Line,IBillButton.Return,IBillButton.Card,IBillButton.Refresh,IBillButton.Print,UserDefButton.fileIO};}增加自定义按钮动作事件重写其它按钮动作事件@OverrideprotectedvoidonBoElse(intintBtn)throwsException{switch(intBtn){caseUserDefButton.fileInt:onFileInt(); 用友NC客户化开发手册break;caseUserDefButton.fileOut:onFileOut();break;default:break;}super.onBoElse(intBtn);}实现的方法/***************************************************************************@功能:导入*@创建日期:2010-6-4创建人:赖利荣*@修改日期:*@修改内容:*/privatestaticvoidonFileInt(){System.out.println("onFileInt");}/***************************************************************************@功能:导出*@创建日期:2010-6-4创建人:赖利荣*@修改日期:*@修改内容:*/privatestaticvoidonFileOut(){System.out.println("onFileOut");} 用友NC客户化开发手册增加页签单据模板 用友NC客户化开发手册生成VO修改代码 用友NC客户化开发手册 用友NC客户化开发手册 用友NC客户化开发手册聚合VOpackagenc.vo.ps.bz1002;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashMap;importnc.vo.pub.CircularlyAccessibleValueObject;importnc.vo.pub.SuperVO;importnc.vo.trade.pub.HYBillVO;importnc.vo.trade.pub.IExAggVO;/****单子表/单表头/单表体聚合VO**创建日期:YourCreateData**@authorYourAuthorName*@versionYourProject1.0*/publicclassMyBillVOextendsHYBillVOimplementsIExAggVO{/*用来装载多子表数据的hashmap*/privateHashMaphmChildVOs=newHashMap();publicMyBillVO(){super();}/*取得所有子表的所有VO对象*/publicCircularlyAccessibleValueObject[]getAllChildrenVO(){ArrayListal=newArrayList(); 用友NC客户化开发手册for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭