已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用友NC客户化开发手册 用友NC客户化开发手册NC-UAP 5.7用友NC-UAP作者:杨军2012-7-10初级开发开发环境搭建一、配置nchomebin文件夹下ncSysConfig.bat1、 配置数据源(通常情况下:design为默认数据源名称,如果有两个数据库以上,需要配置多个数据源)2、 配置端口(这里配置端口参考nchomeconfserver.xml)二、配置eclipse开发工具1、配置MDE Development(Window-Preferences-MDE Development) 选择nchome所在位置、检查数据库连接是否通过、设置数据源为默认数据源、点击ok设置完成。设置端口(与nchomebin文件夹下ncSysConfig.bat配置端口一致)2、配置Installed JERs注意:nchomeufjdkjrelibplugin.jar和nchomeufjdklib tools.jar为必选插件,不然启动客户端的时候会报错。点击确定,完成配置(最好留下当前在用的JERs,其他全部Remove掉)3、建立Module Project (选择Module Project-填写Project Name-Module Name-点击Finish)工程建立完成后如下图:4、 配置eclipse内存-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建模)建表ts char(19) null default convert(char(19),getdate(),20), 特别注意 建表时必须加ts和drdr smallint null default 0 主表建表脚本:create table dj_loan ( pk_loan char(20) not null, pk_corp char(4) null, pk_busitype char(20) null, pk_billtype varchar(4) null, vbillstatus smallint null, vbillno varchar(30) null, dbilldate char(10) null, voperatorid char(20) null, dmakedate char(10) null, vapproveid char(20) null, dapprovedate char(10) null, vapprovenote varchar(512) null, vdealerid char(20) null, vdeptid char(20) null, vmemo varchar(2048) null, vdef1 varchar(100) null, vdef2 varchar(100) null, vdef3 varchar(100) null, vdef4 varchar(100) null, vdef5 varchar(100) null, vdef6 varchar(100) null, vdef7 varchar(100) null, vdef8 varchar(100) null, vdef9 varchar(100) null, vdef10 varchar(100) null, vreserve1 varchar(100) null, vreserve2 varchar(100) null, vreserve3 varchar(100) null, vreserve4 varchar(100) null, vreserve5 varchar(100) null, vreserve6 varchar(100) null, vreserve7 varchar(100) null, vreserve8 varchar(100) null, vreserve9 varchar(100) null, vreserve10 varchar(100) null, pk_account char(20) null, pk_hall char(20) null, vmkno varchar(30) null, nloanmny decimal(20,8) null, dloandate char(10) null, nloanquota decimal(20,8) null, nsignquota decimal(20,8) null, drepaydate char(10) null, vmarkername varchar(40) null, vrepayname varchar(40) null, nrepaymny decimal(20,8) null, nrepayinterestmny decimal(20,8) null, vsecurity varchar(40) null, dtrdate char(10) null, iloantype varchar(20) null, vhandperson varchar(40) null, iscount char(1) null, isuse char(1) null, constraint pkpm_noncontfee primary key nonclustered (pk_loan),ts char(19) null default convert(char(19),getdate(),20), 特别注意 建表时必须加ts和drdr smallint null default 0 )Go子表建表脚本:create table dj_loan_b ( pk_loan_b char(20) not null, pk_loan char(20) null, vmemo varchar(100) null, vdef1 varchar(100) null, vdef2 varchar(100) null, vdef3 varchar(100) null, vdef4 varchar(100) null, vdef5 varchar(100) null, vdef6 varchar(100) null, vdef7 varchar(100) null, vdef8 varchar(100) null, vdef9 varchar(100) null, vdef10 varchar(100) null, vreserve1 varchar(100) null, vreserve2 varchar(100) null, vreserve3 varchar(100) null, vreserve4 varchar(100) null, vreserve5 varchar(100) null, vreserve6 varchar(100) null, vreserve7 varchar(100) null, vreserve8 varchar(100) null, vreserve9 varchar(100) null, vreserve10 varchar(100) null, vsourcebilltype varchar(4) null, vsourcebillid char(20) null, vsourcebillrowid char(20) null, inumber int null, vrepayperson varchar(40) null, nrepaymny decimal(20,8) null, nrepayinterest decimal(20,8) null, nsurplusmny decimal(20,8) null, drepaydate char(10) null, dtrdate char(10) null, isshareholder char(1) null, pk_mkrepay char(20) null, constraint pkpm_costbill_b primary key nonclustered (pk_loan_b),ts char(19) null default convert(char(19),getdate(),20), 特别注意 建表时必须加ts和drdr smallint null default 0 )go导入数据字典VO生成第一步:二次开发工具-UAP集成开发工具- UAP集成开发工具第二步:工具和选项-根据数据源生成VO第三步:选择数据库表-把主子表拉到相应位置-点击确定 第四步:把生成的VO拷贝到eclipse开发工具中(src/public文件夹下)功能注册说明:nc.ui.study.h101.ClientUI 为客户端入口类,ClientUI名字一般都是写成这个,nc.ui.study.h101.为每个功能节点对应的包名。自定义菜单说明:新建的节点,系统一般都会把它归纳在其他节点上面去,这样分配权限的时候就找不到对应的节点进行分配权限,所以一般需要在自定义菜单这里点击恢复默认结构,这样在分配权限的时候才能看到对应的节点。分配权限说明:权限管理-权限分配-保存单据类型注册说明:二次开发工具-单据管理-单据类型管理单据模板生成说明:二次开发工具-模板管理-单据模板初始化第一步:填写单据模板类型(如果第一次则需要填写,一般跟单据类型一致)、选择主表和子表、点击增加按钮(如果是第一次则点击增加,否则点击修改按钮)第二步:选择主表和子表修改页签项目编辑和项目重新排序Ctrl+S保存(第一次保存需要填写模板标题和节点号)查询模板生成生成查询模板单据分配查询模板VO对照主表子表动作脚本执行动作脚本sql语句Insert into PUB_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-09 10:01:05);Insert into PUB_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-21 11:10:02);Insert into PUB_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-21 11:09:32);Insert into PUB_BUSICLASS(ACTIONTYPE,CLASSNAME,DR,ISBEFORE,PK_BILLTYPE,PK_BUSICLASS,PK_BUSINESSTYPE,PK_CORP,TS)Values(EDIT,N_H101_EDIT,0,N,H101,0001AA000000000H1014,null,null,2011-03-21 11:09:53);Insert into PUB_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-21 11:09:22);Insert into PUB_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-21 11:09:22);代码修改代码copy聚合VO修改类名:nc.vo.ps.bz1002. MyBillVOpublic void setChildrenVO(CircularlyAccessibleValueObject children) if (children = null | children.length = 0) super.setChildrenVO(null); else / super.setChildrenVO(children);/单表super.setChildrenVO(StockItemsVO) children);/ 主子表修改ClientUICtrl单据类型public String getBillType() return “H101;获取单据VO信息public String getBillVoName() return new String MyBillVO.class.getName(),StockVO.class.getName(), StockItemsVO.class.getName() ;子表PKpublic String getChildPkField() return pk_stock_id;没子表时返回null保存主子表单表头或单表体public class ClientUICtrl extends AbstractManageController implementsISingleController 主子表public class ClientUICtrl extends AbstractManageController 实现了implements ISingleController接口,只保存单表头或单表体设置默认值public void setDefaultData() throws Exception BillField fileDef = BillField.getInstance();UFDate dmakedate = ClientEnvironment.getInstance().getDate();String billtype = getUIControl().getBillType();String pkCorp = ClientEnvironment.getInstance().getCorporation().getPrimaryKey();fileDef.getField_BillStatus();/取操作员String pk_manager = ClientEnvironment.getInstance().getUser().getPrimaryKey() ;getBillCardPanel().setHeadItem(pk_corp, pkCorp); /公司主键getBillCardPanel().setHeadItem(vbillstatus, new Integer(IBillStatus.FREE).toString();/单据状态 默认为自由态getBillCardPanel().setHeadItem(voperatorid, pk_manager); /制单人getBillCardPanel().setHeadItem(dmakedate, dmakedate); /制单日期getBillCardPanel().setHeadItem(pk_billtype, billtype);/单据类型设置单据号到这个阶段,单据的增删改查功能操作基本完成。中级开发增加自定义按钮按钮IDpackage nc.ui.ps.bz.button;/* * 功能:公共自定义按钮接口 * * 创建日期:2010-6-4 创建人:赖利荣 * * 修改日期: * * 修改内容: * * 单位:珠海用友软件有限公司 版本1.0V */public interface UserDefButton /* * 导入按钮 2010-6-4 */public final static int fileInt = 510;/* * 导出按钮 2010-6-4 */public final static int fileOut = 511;/* * 文件管理 */public final static int fileIO = 512;按钮VOpackage nc.ui.ps.bz.button;import nc.vo.trade.button.ButtonVO;/* * 功能: * * 创建日期:2010-6-4 创建人:赖利荣 * * 修改日期: * * 修改内容: * * 单位:珠海用友软件有限公司 版本1.0V */public class UserDefButtonVO /* * 功能:导入按钮 * * 创建日期:2010-6-4 创建人:赖利荣 * * 修改日期: * * 修改内容: * * return */public ButtonVO getFileInt() ButtonVO btVO = new ButtonVO();btVO.setBtnNo(UserDefButton.fileInt);btVO.setBtnCode(导入);btVO.setBtnName(导入);btVO.setHintStr(导入);btVO.setBtnChinaName(导入);btVO.setOperateStatus(new int nc.ui.trade.base.IBillOperate.OP_ALL );btVO.setBusinessStatus(new int nc.vo.trade.pub.IBillStatus.ALL );return btVO;/* * 功能:导出按钮 * 创建日期:2010-6-4 创建人:赖利荣 * 修改日期: * 修改内容: * return */public ButtonVO getFileOut() ButtonVO btVO = new ButtonVO();btVO.setBtnNo(UserDefButton.fileOut);btVO.setBtnCode(导出);btVO.setBtnName(导出);btVO.setHintStr(导出);btVO.setBtnChinaName(导出);btVO.setOperateStatus(new int nc.ui.trade.base.IBillOperate.OP_ALL );btVO.setBusinessStatus(new int nc.vo.trade.pub.IBillStatus.ALL );return btVO;/* * 功能:文件管理按钮 * 创建日期:2010-6-4 创建人:赖利荣 * 修改日期: * 修改内容: * return */public ButtonVO getFileIntOut() ButtonVO btVO = new ButtonVO();btVO.setBtnNo(UserDefButton.fileIO);btVO.setChildAry(new int UserDefButton.fileInt,UserDefButton.fileOut );btVO.setBtnCode(文件管理);btVO.setBtnName(文件管理);btVO.setHintStr(文件管理);btVO.setBtnChinaName(文件管理);btVO.setOperateStatus(new int nc.ui.trade.base.IBillOperate.OP_ALL );btVO.setBusinessStatus(new int nc.vo.trade.pub.IBillStatus.ALL );return btVO;修改入口类ClientUI重写Override/* * 注册自定义按钮(重写initPrivateButton) */protected void initPrivateButton() UserDefButtonVO uButtonVO = new UserDefButtonVO();/ 文件管理addPrivateButton(uButtonVO.getFileIntOut();/ 导入addPrivateButton(uButtonVO.getFileInt();/ 导出addPrivateButton(uButtonVO.getFileOut();super.initPrivateButton();增加按钮public int getCardButtonAry() return new int IBillButton.Query, IBillButton.Add,IBillButton.Edit, IBillButton.Delete, IBillButton.Save,IBillButton.Cancel, IBillButton.Line, IBillButton.Return,IBillButton.Card, IBillButton.Refresh, IBillButton.Print,UserDefButton.fileIO ;/* * IBillButton.Del直接删除数据,IBillButton.Delete修改删除标志 */public int getListButtonAry() return new int IBillButton.Query, IBillButton.Add,IBillButton.Edit, IBillButton.Delete, IBillButton.Save,IBillButton.Cancel, IBillButton.Line, IBillButton.Return,IBillButton.Card, IBillButton.Refresh, IBillButton.Print,UserDefButton.fileIO ;增加自定义按钮动作事件重写其它按钮动作事件Overrideprotected void onBoElse(int intBtn) throws Exception switch (intBtn) case UserDefButton.fileInt:onFileInt();break;case UserDefButton.fileOut:onFileOut();break;default:break;super.onBoElse(intBtn);实现的方法/* * 功能:导入 * 创建日期:2010-6-4 创建人:赖利荣 * 修改日期: * 修改内容: */private static void onFileInt() System.out.println(onFileInt);/* * 功能:导出 * 创建日期:2010-6-4 创建人:赖利荣 * 修改日期: * 修改内容: */private static void onFileOut() System.out.println(onFileOut);增加页签单据模板生成VO修改代码聚合VOpackage nc.vo.ps.bz1002;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import nc.vo.pub.CircularlyAccessibleValueObject;import nc.vo.pub.SuperVO;import nc.vo.trade.pub.HYBillVO;import nc.vo.trade.pub.IExAggVO;/* * * 单子表/单表头/单表体聚合VO * * 创建日期:Your Create Data * * author Your Author Name * version Your Project 1.0 */public class MyBillVO extends HYBillVO implements IExAggVO /* 用来装载多子表数据的hashmap */private HashMap hmChildVOs = new HashMap();public MyBillVO() super();/* 取得所有子表的所有VO对象 */public CircularlyAccessibleValueObject getAllChildrenVO() ArrayList al = new ArrayList();for (int i = 0; i getTableCodes().length; i+) CircularlyAccessibleValueObject cvos = getTableVO(getTableCodes()i);if (cvos != null)al.addAll(Arrays.asList(cvos);return (SuperVO) al.toArray(new SuperVO0);public SuperVO getChildVOsByParentId(String arg0, String arg1) / TODO Auto-generated method stubreturn null;/* 缺省的页签编码 */public String getDefaultTableCode() return getTableCodes()0;public HashMap getHmEditingVOs() throws Exception / TODO Auto-generated method stubreturn null;public String getParentId(SuperVO arg0) / TODO Auto-generated method stubreturn null;/* 返回各个子表的编码,必须与单据模板的页签编码对应 */public String getTableCodes() return new String llr_stock_items, llr_stock_user ;/* 返回各个子表的中文名称 */public String getTableNames() return new String 采购明细, 业务员明细 ;/* 返回某个子表的VO数组 */public CircularlyAccessibleValueObject g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省揭阳市辅警公共基础知识题库(附答案)
- 2025年广东省广州市辅警招聘公安基础知识题库附含答案
- 2025年特种设备作业人员考试(压力容器作业快开门式压力容器操作R1)全真模拟试题及答案
- 省属虚拟市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)有完整答案详解
- 2025年高血压急症的紧急处理与护理考试试题及答案
- 2025年高血糖知识测试题及答案
- 2025年高校管理真题及答案
- 白银市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(名校卷)
- 巴音郭楞蒙古自治州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优a卷)
- 随州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(完整版)
- 安徽省蚌埠市A层高中2025-2026学年高二上学期第一次联考(10月)英语试卷
- 淘宝交易流程
- 2025年西安法院聘用制书记员招聘(57人)考试参考题库及答案解析
- 2025年及未来5年中国高端照明灯具行业市场调查研究及发展战略规划报告
- 胸椎的解剖讲解
- 宿州市中石化2025秋招面试半结构化模拟题及答案炼油工艺技术岗
- Unit5MyhouseLesson1(课件)-剑桥国际少儿英语Kids'box预备级
- 2025中国融通资产管理集团有限公司子公司社会招聘笔试历年参考题库附带答案详解
- 2025年西南化工销售分公司秋季高校毕业生招聘5人笔试参考题库附带答案详解
- 2025-2030儿童绘本出版市场IP开发与跨界合作案例分析报告
- 盐酸吉卡昔替尼片-临床用药解读
评论
0/150
提交评论