欢迎来到芜湖云友软件技术有限公司(科友软件),我们已经为5000多家客户提供专业的软件服务!
客服电话:0553-3930001/3939689

知识库

用友畅捷通ISV伙伴在做二开升级时注意事项

发布时间:2022-10-14 09:22:00 访问数:592

12.2二开升级注意事项

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元数据

早期版本二开账套中的元数据会自动升级上来。但原有的插件无法直接在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

脚本举例

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值为其显示顺序。


查询枚举中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')


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

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

--举例:采购入库 SA01t报价单

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报表配置文件【可选步骤】

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、代码修改相关

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

原有代码

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

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

}

修改为:

$(document).ready(function(){

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

});

3、环境部署相关

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

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

发布后的bin目录:

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

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

4、常见问题

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

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

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

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

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

5、注意事项

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

TAG: ISV 二次开发 开放平台 T十二开平台 平台规划
上一篇:如何成为一个用友畅捷通T+ISV伙伴?
下一篇:用友畅捷通ISV技术大会T+开发伙伴加盟认证介绍