首页 公共 ISV开发者 二开升级注意事项说明(V12.2)

二开升级注意事项说明(V12.2)


12.2二开升级注意事项

1、数据库相关

  • 1.1数据库脚本自动升级方案

单据开发一般涉及物理表的新增,针对二开新增物理表的Guid升级。

需要按照T+升级约定按照步骤修改如下文件:

Appserver\\Upgrade\\12.100.999.9999\\DATA_DSTR_EAP_GUID_SecondaryDev.sql 修改过程可分为如下5步。

a.清理垃圾数据脚本

b.清除相关字段上的索引和约束

c.更新id值,将Guid更新为int 类型的id

1) 将现有字段fieldName改名为_gFieldName

2) 新增一个字段fieldName

3) 从原表更新本表的fieldName

d. 删除_gFieldName

e. 重建索引

  • 1.2脚本修改

1.2.1元数据

早期版本二开账套中的元数据会自动升级上来。但原有的插件无法直接在12.1安装,需要把GUID值替换为Int型,并且不能直接插入。所有引用的字段需要重新更新为【被引用字段】新ID值。

举例如下:

insert into eap_reportfield([title],[selectFieldName],[aliasName],[whereFieldName],[isBundleField],[isMain],[canGroup],[defaultGroup],[canClassiced],[canLinkage],[canRowGroup],[defaultRowGroup],[canColumnGroup],[isMultiLevelGroup],[ideap_reporttemplate],[idparent],[parentDataField],[isColumn],[lastLevelIdentifyField],[dtoprop],[RefDtoProp],[StaticGroup],[IsHeaderSum],[IsColSpan])

values('供应商编码','Vendor.Code','VendorCode','Vendor.Code','0','0','0','0','0','0','0','0','0','0','b33c5dc5-2c3b-4a5b-9191-bad08fad29dd',null,null,'1',null,'','','0','0','0' )

--以往来单位报表字段数据为例,说明如何修改以上数据idparent

--先查询当前自身结点VendorCode的ID,返回29125

select id from eap_reportfield where ideap_reporttemplate=9999 and aliasName='VendorCode'

--先查询父结点ID,返回29123

select id from eap_reportfield where ideap_reporttemplate=9999 and aliasName='VendorInfo'

--修改当前结点数据的idparent

update eap_reportfield set idparent=29123 where id=29125

  • 1.2.2菜单脚本修改

脚本举例

delete EAP_Menu where Code='WO8081'

insert EAP_Menu(Code,name ,Grade,SupMenuID,EndGrade,[order],

IsItemGroup ,IsControl ,AccountType ,Visibility ,RequestUrl,

inID,ExpressionName,iscommonuse,ShowIndex2,MenuIn)

values('WO8081','委外综合分析表',2,'WO80',1,200,1,0,1,

,'BAPView/ReportWithSimpleSearch.aspx?ReportName=WO_WOAnalysisRpt', 'WO_WO80_WO8081','WO',1,14,3)

注意修改一下三部分:

修改字段名称[order] 为ShowIndex;

增加iscommonuse值为1;

增加ShowIndex2值为其显示顺序。


  • 1.2.2枚举修改

查询枚举中GUID对应的新枚举ID。

select ID,Code,Name from eap_Enumitem where idEnum in(select ID from eap_Enum where name='[枚举名称]')

--举例:往来单位性质

select ID,Code,Name from eap_Enumitem where idEnum in(select ID from eap_Enum where name='PartnerType')


  • 1.2.4 GUID是唯一的,现在改成ID后不再保证唯一,而且二开的数据对应ID不能保证固定。需要增加类型、编码区分从而取得其ID。建议客户按照编码做业务判断。

--单据类型 出入库类别等档案需要按照需要按照编码取值

select ID,Code,Name,* from SM_VoucherType where code='[单据类型编码]'

--举例:采购入库 SA01\t报价单

select ID,Code,Name,* from SM_VoucherType where code=' SA01'

--单据类型 出入库类别等档案需要按照需要按照编码取值

select ID,Code,Name,* from AA_RDStyle where code='[出入库编码]'

--举例:采购入库

select ID,Code,Name,* from AA_RDStyle where code='101'

  • 1.3 报表二开

1.3.1报表配置文件【可选步骤】

\t 因为报表加载机制变化,原来把报表的配置文件已经修改到数据库中;

<!-- 预测单统计表-->

<reportAdvancedSearch name=\"MP_IntendSaleOrderSumRpt\" code=\"MP4001\">

<view>

<add name=\"MP_IntendSaleOrderSumRpt\"

type=\"Ufida.T.MP.Report.UIP.MPSumRptSearch,Ufida.T.MP.UIP\" searchControlIsPost=\"false\"></add>

</view>

</reportAdvancedSearch>

配置文件和Eap_ViewSet的字段对应关系:

Name

ParameterValue

advancedSearchTemplateCode

MP4001

advancedSearchTemplateName

MP_IntendSaleOrderSumRpt

advancedSearchViewControlIsPost

0

advancedSearchViewName

MP_IntendSaleOrderSumRpt

advancedSearchViewTypeInfo

Ufida.T.MP.Report.UIP.MPSumRptSearch,

Ufida.T.MP.UIP

ViewSetItem中新增三个Name值,对应的ParameterCode值如下:

Name

ParameterCode

advancedSearchViewChartName

1761

advancedSearchViewChartType

1761

advancedSearchViewChartJSPInfo

1761

2、代码修改相关

  • 2.1扩展二开
  • JS扩展文件【可选步骤】

二开中用到的JS脚本修改,分两T+扩展机制相关和插件内部逻辑的修改部分,本文只涉及扩展机制相关内容,扩展机制中涉及的修改举例如下。

原有代码

window.attachEvent(\"onload\", function () {

// 这里原有的代码逻辑...

}

修改为:

$(document).ready(function(){

  //这里改写你的代码逻辑,并支持多浏览器...

});

3、环境部署相关

  • 3.1页面文件发布处理【必选步骤】

为了提升性能,12.1网站默认强制要求为经预编译后发布网站。因此页面需要预编译。操作步骤如下:先打开网站属性页面,去掉允许更新此预编译站点的勾选,选中使用固定命名和单页程序集。这样设置发布后的站点采用的是预编译模式。\t

进入发布网站选项,选设置—〉配置,选不合并,为每个网页创建单独程序集。

发布后的bin目录:

注意:二开不支持使用全局资源,只支持本地资源。

将发布后的目录中bin目录和代码目录拷贝复制到T+产品目录\\WebSite下。

4、常见问题

  • 4.1菜单升级规则以及如何调整丢失的菜单。

调整菜单需要安装RAP快速开发工具,安装后在开发管理菜单中找到【菜单】功能,,通常需要新建一个一级菜单,如图新建【test管理】:

然后找到对应二开新增菜单、勾选是否显示、是否常应用即可。

  • 4.2 数据库206错误, 请重试! 操作数类型冲突: uniqueidentifier 与 int 不兼容。

解决办法:可参考本文【数据库相关内容】修改GUID字段

  • 4.3 单据、报表打不开,对应的ID为无效(值为0)。

原因:找不到GUID对应引用字段ID。

解决办法:查询对应的ID,更新改字段,可参考本文【数据库相关内容】

5、注意事项

安装卸载软件之前请对二开的部署脚本和代码进行手工备份。

作者:畅捷服务社区 |  时间:2018年08月30日 17:50


对我有用 对我有用
没有帮助 没有帮助