用友集团 ERP 客户化开发系列丛书
NC 客户化开发进阶
培训教程
V2.0 版
本教程是用友软件股份有限公司内部培训资料,只限于用友公司内部开发
应用,任何人未经过事先书面许可不得扩大本教程的使用范围。同样,未经过
用友公司书面许可,任何人不得以任何形式对本手册进行增删、改编、节选、
翻译、翻印或仿制,违者必究!
©本手册的著作权属于用友软件股份有限公司
版权所有•翻制必究
2009 年 1 月第一次印刷
在中华人民共和国印制
用友软件股份有限公司
目录
第一篇 入门篇.................................................................................................................................. 5
1. 建立 NC 环境 .............................................................................................................................5
内容概述 .................................................................................................................................... 5
详细介绍 .................................................................................................................................... 6
1.1.1. 建立数据库........................................................................................................ 6
1.1.2. 安装 NC ..............................................................................................................7
1.1.3. 配置启动 NC ......................................................................................................9
1.1.4.
Eclipse 中建立 NC 开发环境 ..........................................................................13
1.1.5. 产品参数,档案初始化 ..................................................................................19
1.1.6. 权限管理 .......................................................................................................... 22
1.1.7. 产品主要目录结构介绍 ..................................................................................24
2. NC 基础技术 ............................................................................................................................25
内容概述 .................................................................................................................................. 25
详细介绍 .................................................................................................................................. 25
NC UAP 总体介绍 ..........................................................................................25
2.1.1.
NC 开发中的一些基本概念 ........................................................................... 30
2.1.2.
2.1.3.
NC 的开发模型................................................................................................32
2.1.4. 开发远程接口 ..................................................................................................34
定义接口 .......................................................................................................... 34
实现该接口...................................................................................................... 34
部署组件 .......................................................................................................... 34
客户端调用...................................................................................................... 35
事务型组件发布..............................................................................................36
客户端代码...................................................................................................... 38
3. 数据建模 .................................................................................................................................. 40
内容概述 .................................................................................................................................. 40
详细介绍 .................................................................................................................................. 40
3.1.1.
PowerDesigner 建模 ........................................................................................ 40
3.1.2. 生成 NC 数据字典 .......................................................................................... 48
第二篇 中级篇................................................................................................................................ 49
4. 单据开发 .................................................................................................................................. 50
内容概述 .................................................................................................................................. 50
详细介绍 .................................................................................................................................. 50
4.1.1. 进入 Workshop.................................................................................................50
4.1.2. 表单开发流程导航工具 ..................................................................................52
4.1.3.
UI 工厂 .............................................................................................................65
5. NC 数据库持久化技术 ............................................................................................................68
内容概述 .................................................................................................................................. 68
详细介绍 .................................................................................................................................. 69
5.1.1. 核心类介绍: ..................................................................................................69
5.1.2. 通过 JDBC FrameWork 访问数据库..............................................................70
5.1.3. 通过 BaseDao 进行对象的持久化 ................................................................. 73
1
用友软件股份有限公司
5.1.4. 结果集控制...................................................................................................... 74
6. 单据开发其他相关技术 .......................................................................................................... 75
内容概述 .................................................................................................................................. 75
详细介绍 .................................................................................................................................. 75
6.1.1. 参照开发 .......................................................................................................... 75
6.1.1.1. 参照的类结构图......................................................................................75
6.1.1.2. 自定义参照开发规范..............................................................................76
6.1.1.3. UIRefPane 和 refModle 设置 ................................................................. 78
6.1.2. 单据号.............................................................................................................. 79
6.1.2.1. 单据号规则..............................................................................................79
6.1.2.2. 接口方法 ..................................................................................................81
6.1.3. 公式 .................................................................................................................. 83
6.1.4. 锁...................................................................................................................... 88
6.1.5. 日志 .................................................................................................................. 90
6.1.6. 异常 .................................................................................................................. 91
7. 报表开发 .................................................................................................................................. 93
内容概述 .................................................................................................................................. 93
详细介绍 .................................................................................................................................. 93
7.1.1. 入门 .................................................................................................................. 93
7.1.2. 查询模型 ........................................................................................................ 101
7.1.3. 格式设计 ........................................................................................................ 109
7.1.4. 发布报表 ........................................................................................................ 120
第三篇 高级篇.............................................................................................................................. 122
8. 预警平台 ................................................................................................................................ 122
内容概述 ................................................................................................................................ 122
详细介绍 ................................................................................................................................ 123
8.1.1. 预警类型注册 ................................................................................................ 123
8.1.2. 预警条目注册 ................................................................................................ 125
9. 交换平台 ................................................................................................................................ 130
内容概述 ................................................................................................................................ 130
详细介绍 ................................................................................................................................ 130
9.1.1. 交换平台使用 ................................................................................................ 130
9.1.2. 交换平台插件开发 ........................................................................................136
流程平台 ........................................................................................................................ 138
内容概述 ................................................................................................................................ 138
详细介绍 ................................................................................................................................ 139
10.1.1. 流程平台介绍 ................................................................................................ 139
10.1.2. 业务流程 ........................................................................................................ 140
业务类型 ................................................................................................................ 141
流程配置 ................................................................................................................ 142
单据权限配置 ........................................................................................................ 143
单据来源配置 ........................................................................................................ 144
动作约束配置 ........................................................................................................ 145
动作事件控制配置 ................................................................................................ 146
10.
2
用友软件股份有限公司
11.
13.
12.
动作驱动配置 ........................................................................................................ 146
单据 VO 交换 ........................................................................................................ 147
下面是一个最小化的推式流程过程....................................................................149
拉式单据(单据的上下游参照) ........................................................................150
10.1.3. 审批流............................................................................................................ 152
审批流定义............................................................................................................ 152
审批流编程............................................................................................................ 156
10.1.4. 消息中心 ........................................................................................................ 164
会计平台 ........................................................................................................................ 168
内容概述 ................................................................................................................................ 168
详细介绍 ................................................................................................................................ 168
11.1.1. 会计平台注册 ................................................................................................ 169
11.1.2. 代码调用 ........................................................................................................ 175
单点登陆 ........................................................................................................................ 176
内容概述 ................................................................................................................................ 176
详细介绍 ................................................................................................................................ 177
12.1.1. 单点登陆 ........................................................................................................ 177
12.1.2. 打开代办事项 ................................................................................................ 179
NC 开发 webservice-Axis..............................................................................................181
内容概述 ................................................................................................................................ 181
详细介绍 ................................................................................................................................ 181
13.1.1. 发布 webservice ............................................................................................. 181
13.1.2. 客户端代码调用............................................................................................185
第四篇 附录 .................................................................................................................................. 186
XML 和 EXCEL ............................................................................................................ 186
14.
内容概述 ................................................................................................................................ 186
详细介绍 ................................................................................................................................ 186
利用 XmlUtils 读取 XML ............................................................................. 186
14.1.
14.2.
Excel 文件读写..............................................................................................192
多语言............................................................................................................................ 193
内容概述 ................................................................................................................................ 193
详细介绍 ................................................................................................................................ 193
15.1.1. 生成资源文件 ................................................................................................ 194
15.1.2. 代码调用 ........................................................................................................ 194
补丁与安装盘 ................................................................................................................ 195
内容概述 ................................................................................................................................ 195
详细介绍 ................................................................................................................................ 195
安装盘结构.................................................................................................... 195
16.1.
产品结构 ........................................................................................................ 196
16.2.
模块结构 ........................................................................................................ 196
16.3.
16.4.
制作补丁 ........................................................................................................ 199
设计开发规范 ................................................................................................................ 202
内容概述 ................................................................................................................................ 202
详细介绍 ................................................................................................................................ 202
15.
16.
17.
3
用友软件股份有限公司
18.
SQL 规范 ........................................................................................................202
17.1.
17.2.
java 开发规范 ................................................................................................ 205
开发常见问题与技巧.................................................................................................... 218
内容概述 ................................................................................................................................ 218
详细介绍 ................................................................................................................................ 218
环境变量类 nc.ui.pub.ClientEnvironment................................................... 218
发送待办消息 ................................................................................................ 220
模板中下拉框的值 ........................................................................................221
18.1.
18.2.
18.3.
4
用友软件股份有限公司
第一篇 入门篇
欢迎您成为用友 NC 开发队伍中的一员!如果您从未接触过 NC 的开发,本篇将从 NC
产品使用开始,序渐进的带您步入精彩的 NC 产品世界.本学时教程是在完成 NC 产品使用入
门阅读的最佳起点。在开始学习之前,您需要掌握以下基本技能:
Eclipse 使用
JAVA 和 JE22 基础知识
本学时教程中将会讲述以下内容:
NC 产品入门,本章旨在为那些对 NC 尚不了解的新进人员就 NC 的大体形态做个简单
的讲解,以便对 NC 产品有个简单的认识,并学习到与 NC 产品二次开发有关的产品操作技
术入门知识。
开发环境的安装和搭建,本章是为第一次使用 NC 的人员做准备,达到迅速的安装和搭
建 NC 环境。
NC 技术框架简介,本章您将会学习 NC 技术框架理论概念,通过学习范例代码掌握
VO\BO\远程接口的概念。
NC5.X 的数据建模,使用 PowerDesigner 进行数据库建模。
1. 建立 NC 环境
内容概述
第一次在 NC 环境中做开发,需要首先建立一个数据库环境,这个数据库环境中指
定了 NC 所要使用的表空间,并预先建立了 NC 的系统表、视图、索引等,并预置了大
量的初始化数据。然后,在 Eclipse 中建立一个开发项目,引用 UAP 的 jar 包即可。经
过这两步,就完成了 NC 开发环境的建立。
NC 环境安装完成后还需要对系统进行初始化,包括参数,组织结构,权限,基本
档案的建立,这样一个系统才算真正可以使用。
5
用友软件股份有限公司
详细介绍
1.1.1. 建立数据库
在数据库服务器(Oracle,MS SQLServer,DB2)中新建一个空数据库,并执行数
据库脚本建立 NC 需要的表空间,不同的数据库使用的脚本不一样(正式安装盘下有安
装说明),以 MS SQLServer 为例:假设新建的数据库叫 ncdemo,MS SQLServe 的数据
文件存放在 D:\Microsoft SQL Server\data 下,那么数据库脚本为
ALTER DATABASE [NCDEMO] ADD FILEGROUP [NNC_DATA01]
go
ALTER DATABASE [NCDEMO] ADD FILEGROUP [NNC_DATA02]
go
ALTER DATABASE [NCDEMO] ADD FILEGROUP [NNC_DATA03]
go
ALTER DATABASE [NCDEMO] ADD FILEGROUP [NNC_INDEX01]
go
ALTER DATABASE [NCDEMO] ADD FILEGROUP [NNC_INDEX02]
go
ALTER DATABASE [NCDEMO] ADD FILEGROUP [NNC_INDEX03]
go
ALTER DATABASE [NCDEMO] ADD FILE(NAME = N'nnc_data01', FILENAME =
N'D:\Microsoft SQL Server\data\nnc_data01_Data.NDF' , SIZE = 500, FILEGROWTH =
200) TO FILEGROUP [NNC_DATA01]
go
ALTER DATABASE [NCDEMO] ADD FILE(NAME = N'nnc_data02', FILENAME =
N'D:\Microsoft SQL Server\data\nnc_data02_Data.NDF' , SIZE = 500, FILEGROWTH =
200) TO FILEGROUP [NNC_DATA02]
go
ALTER DATABASE [NCDEMO] ADD FILE(NAME = N'nnc_data03', FILENAME =
N'D:\Microsoft SQL Server\data\nnc_data03_Data.NDF' , SIZE = 500, FILEGROWTH =
200) TO FILEGROUP [NNC_DATA03]
go
6