Happy3w

第二章 安装升级方案相关说明

2017.02.21
小编:此文是搬运,将小编收集的资料分享到这,是为了和像我一样的开发人能更快速、更轻松地解决问题,欢迎大家分享自己的内容。 使用对象:NC-V5系列

1. 新建账套

步骤: 1. 运行客户化安装盘的安装程序,把代码安装到指定目录作为系统运行环境。 2. 进入新建帐套界面录入帐套信息再新建账套。 3. 判定是否可以安装。 4. 利用./ncscript/目录下的建库脚本来建库表。 5. 利用./ncscript/init_data/目录下指定安装语种的初始化数据脚本安装库表数据。 6. 利用./ierp/bin/InitAccount.dat配置文件中注册的初始化数据接口nc.bs.pub.IInitData的initAccountData方法依次初始化数据。 7. 保存客户化版本信息和账套信息。 接口描述: nc.bs.pub.IInitData: initAccountData(String dataSourceName)表示建帐时初始化数据,在新建账套时使用; initCorpData(String pkCorp)表示初始化公司数据,在新建账套时没有作用,在建公司账时会使用该接口方法。 接口注册在./ierp/bin/InitAccount.dat文件中,目前只有nc.bs.sm.cmenu.CustomMenuBO;格式如下: total=1 1=nc.bs.sm.cmenu.CustomMenuBO, "插入图片" 备注: 对于需要进行分语种安装的数据脚本,在制作安装盘时就需要将这些脚本分语种目录放置,在新建账套或账套升级时,会根据账套的默认语种选择安装。

2. 升级账套

步骤: 1. 运行客户化安装盘的安装程序,把代码安装到系统运行环境目录下,便完成客户化的代码升级。 2. 进入帐套管理界面升级账套。 3. 对数据库物理布局进行校验,判定是否可以升级。 4. 处理3.1以前版本的帐套默认语种问题,将其语种名称改为语种编码。 5. 利用./au/accountupdate.ini文件中注册的升级接口nc.bs.sm.config.IUpdateAccount的方法doBeforeUpdateDB依次在数据库表结构升级前执行某些处理。 6. 利用./ncscript/目录下的建库脚本来升级库表。 7. 利用./au/accountupdate.ini文件中注册的升级接口nc.bs.sm.config.IUpdateAccount的方法doBeforeUpdateData依次在数据库初始化数据升级前执行某些处理。 8. 进行数据字典的升级。 9. 删除客户化模板中的数据和更新实时凭证数据,以及删除单据模板数据。 10. 利用./ncscript/init_data/目录下指定安装语种的初始化数据脚本升级库表数据。 11. 其他的数据调整。 12. 利用./au/accountupdate.ini文件中注册的升级接口nc.bs.sm.config.IUpdateAccount的方法doEndUpdateAccount依次在数据库初始化数据升级级后执行某些处理。 13. 保存客户化版本信息。 接口描述: nc.bs.sm.config.IUpdateAccount: doBeforeUpdateDB(String dsName, String khhOldVersion , String khhNewVersion)表示在数据库表结构升级前执行某些处理; doBeforeUpdateData(String dsName, String khhOldVersion, String khhNewVersion)表示在数据库初始化数据升级前执行某些处理; doEndUpdateAccount(String dsName, String khhOldVersion, String khhNewVersion)表示在数据库初始化数据升级后执行某些处理。 接口注册在./au/accountupdate.ini文件中,目前内容如下: nc.bs.pf.install.ConvertFileInfoBO nc.bs.bd.service.BDUpdata300sp2To310 nc.bs.pub.cquery.UptoDDCBO nc.bs.fipf.pub.AccountPFUpgradeBO nc.bs.pf.update.IsWriteUpdate nc.bs.sm.config.AdjustGroupFlag nc.bs.sm.grouppower.PowerUpgrade4OrgBook

3. NC业务产品的安装升级

业务产品的安装不区分新安装和升级安装,即只有一套安装盘。 1. 安装步骤 A. 运行客户化安装盘的安装程序,将其解压到指定的临时目录。 B. 登录系统,在“产品安装”节点中进行产品的升级安装 2. 升级步骤 A. 从指定的临时目录中复制代码到应用服务器进行代码的安装升级。 B. 对数据库物理布局进行校验,判定是否可以安装升级。 C. 利用临时目录中的ncscript/目录下的建库脚本来安装升级库表。 D. 进行数据字典的升级 E. 删除安装产品模板中的数据和更新实时凭证数据,以及删除单据模板数据。 F. 从临时目录中读出sql脚本进行初始化数据的安装升级,在执行这些sql脚本前会根据当前数据库中的数据调整sql语句,即对有主键冲突的sql脚本自动转换为update语句,然后进行数据升级。 G. 分语种安装的初始化数据,这也是根据正在升级的账套的默认语种选择对应的脚本进行升级。 H. 执行代码升级程序,凡是需要在最后对数据进行一些处理的,都可以实现nc.bs.sm.install.IUpdateData的updateData方法。实现类注册在安装盘的配置文件中的dataupdateclass项 I. 处理已建帐公司的初始化数据。(有必要进行优化,见“安装改进”) J. 对安装产品的单据模板和查询模板数据进行调整,对报表模板数据进行调整。(现在每次安装都执行,势必影响效率,是否要优化??) K. 删除安装源文件 接口描述: nc.bs.sm.install.IUpdateData: updateData(String khhOldVersion , String khhNewVersion)表示产品安装升级后的相关数据升级。 该接口注册在安装盘的配置文件中的dataupdateclass项。

4. 新建公司账

步骤: 1. 根据选中模块读取./ierp/bin/InitCorp/目录中的dat文件中的初始化数据接口nc.bs.pub.IInitData和建帐接口nc.bs.sm.createcorp.ICreatecorpAccount。 2. 判断选中模块的初始化前提。 3. 先执行ICreatecorpAccount的方法beforeCreatecorpAccount,再执行IInitData的方法initCorpData,再执行ICreatecorpAccount的方法afterCreatecorpAccount。 4. 保存公司启用的功能模块。 5. 为结算类公司建立一个结算单位。 6. 更改公司目录的建帐标志。 接口描述: nc.bs.pub.IInitData: initAccountData(String dataSourceName)在建公司账时不使用; initCorpData(String pkCorp)表示初始化公司数据,在建公司账时会使用该接口方法。 nc.bs.sm.createcorp.ICreatecorpAccount: String beforeCreatecorpAccount (String pkCorp)初始化公司数据之前的检查等操作,返回非null表示错误信息,不再执行后续操作,返回null表示可以执行初始化数据; String afterCreatecorpAccount(String pkCorp)初始化公司数据之后的检查等操作,返回非null表示错误信息,不再执行后续操作,返回null表示可以执行初始化数据。 这两个接口都注册在./ierp/bin/InitCorp/目录的相应模块文件中,目前客户化10模块的格式如下: total=5 1=nc.bs.pf.pub.PfDataCopy1BO,"客户化-参数设置初始化数据" 2=nc.bs.pf.pub.PfDataCopy2BO,"客户化-凭证模板初始化数据" 3=nc.bs.pf.pub.PfDataCopy3BO,"客户化-项目单据模板初始化数据" 4=nc.bs.pf.pub.PfDataCopyBO,"客户化-流程平台初始化数据" 5=nc.bs.gl.initdata.GlInitDataBO,"客户化-总账初始化数据"

5. 安装改进

对于业务产品的安装升级,不再执行PfDataCopy,而在建公司账时根据注册自动执行。 第一章 安装盘结构及配置文件说明 第三章 二次开发成果安装升级方案相关说明