1. 概述
本文主要汇总了 FineReport 10.0 升级至 11.0 后设计器的常见问题及解决方案,便于大家更好的解决升级过程中遇到的问题。
2. 升级后cptx模板异常
2.1 cptx 模板下钻失败
问题描述:
升级之后,cptx模板下钻失败
原因分析:
11.0 版本的新计算引擎为内置功能,并且 11.0 版本没有 cptx 模板,所有的 cptx 模板会自动保存为 cpt 模板。
解决方案:
手动修改超链接 url 中的 cptx 改成 cpt。
2.2 cptx 模板数据显示空白
问题描述:
10 版本的 cptx 模板放到 11 版本异常,预览数据空白。
原因分析:
升级到 11.0.8 及之后版本即可。
3. 插件问题
3.1 老版本 frm 打开为空白,打开同时新建一个报表
问题详情:
打开老版本frm,设计器会自动新建一个 workbook,且原目标设计页面内容空白,预览正常有数据。
原因分析:
11.0 工程启动的时候,自动安装了模板助手插件,导致了功能异常。
解决方案:
禁用模板助手插件后,重新切换远程目录,模板打开正常。
3.2 升级后 word 报告导出异常
原因分析:
插件版本问题,图表小于一定阈值时,会产生形变/压缩。
解决方案:
将 JAR 更新至 11.0.9 及之后版本,同时更新 Word 报告插件。
3.3 填报预览报错:未安装新填报预览插件
问题详情:
升级之后决策平台预览挂载填报模板,出现报错:未安装新填报预览插件,自动转换为老填报预览,如下图所示:
原因分析:
Finereport11.0 废弃了「新填报预览」功能,改为插件支持。
若原 Finereport10.0 工程在三个月内有使用「新填报预览」的功能记录,在升级时会自动以插件形式保留此功能。
若原 Finereport10.0 工程在三个月内没有使用「新填报预览」的功能记录,则在升级后不配置「新填报预览」相关插件。
解决方案:
1)推荐方案:请改用填报预览,将模板预览url中的参数op=write_plus改成op=write即可
2)如仍需使用新填报预览,可联系帆软技术支持获取插件。技术支持联系方式:请前往「服务平台」,选择「在线支持」即可。
3.4 使用扩展图表插件开发的图表,升级之后图表颜色异常
问题详情:
模板使用旧图表插件开发的图表,升级之后图表的颜色样式不对。
解决方案:
更新扩展图表版本到 V4.6.5 解决
3.5 升级后钉钉配置消失
原因分析:
原始的钉钉集成插件版本老旧,兼容性较差。
解决方案:
更新最新版本插件,并重新配置相关信息,同时在钉钉应用上需要重新保存新的平台地址并发布。
3.6 升级后 Mes 集成失败
问题详情:
10.0版本与Mesh集成,升级后Mes集成失败。
原因分析:
云端运维插件冲突。
解决方案:
禁用云端运维插件即可。
3.7 升级后复选框全选报错
问题详情:
10.0 中使用控件性能优化插件,升级后复选框全选报错:CustomJSError :_..).setCellsQuick
原因分析:
11.0 版本不支持控件性能优化插件
解决方案:
使用替代方案:JS实现复选按钮控件全选和批量操作
3.8 设计器远程目录下,插件一键同步失效
问题详情:
11.0设计器,远程目录下,远程设计提示jar、插件不匹配,选择一键同步后,jar同步成功,插件未同步成功。
解决方案:
更新 jar 到 11.0-2022-05-20 版本,服务器和本地 jar 都必须更新到 5.20 之后,才能一键同步成功。
3.9 后台日志报错:ERROR java.lang.ArrayIndexOutOfBoundsException
问题详情:
10-11升级后,后台日志一直抛错“ERROR java.lang.ArrayIndexOutOfBoundsException”
报错关键字:
ERROR java.lang.ArrayIndexOutOfBoundsException at com.fr.genrral.http.HttpToolBox.getHttpClient<HttpToolbox.java>~[fine-core-11.0.jar:?] at com.fr.decision.webservice.v10.plugin.PluginService.getStopPluginCategory<Unknown Source>[fine-decision-11.0.jar:?]
原因分析:
部分插件内置了,默认禁用,部分插件不兼容,导致的异常。
解决方案:
禁用不兼容的插件或安装新版本插件,删除已经变为内置功能的插件,详情可参考:10-11兼容说明
3.10 升级后报错请求服务器数据失败
问题描述:
升级后,点击「管理系统>系统管理」,打开常规页面,报错请求服务器数据失败,且用户管理页面空白。
原因分析:
启用了 云端运维 功能。
解决方案:
禁用云端运维功能,操作步骤如下:
1)用户登录数据决策系统,F12 或右键,在「Network>Headers」下,获取fine_auth_token的值。如下图所示:
2)将步骤一获取的 fine_auth_token参数拼接到以下链接中
http://ip:端口/webroot/decision/v10/cloud/analytics/plugin/disabled?fine_auth_token=xxxx.xxxx.xxxxxx
3)访问禁用链接即可禁用云端运维功能。
4. 控件相关问题
4.1 升级后填报时出现提示:不允许自定义值
问题详情:
升级后原填报报表,进行填报时出现提示:不允许自定义值,如下图所示:
原因分析:
10 升 11 后,控件校验逻辑改动导致填报效果异常,10.0 的时候不会校验控件自带的校验,11.0 控件默认自带校验功能。
解决方案:
可通过「fine_conf_entity可视化配置插件」,找到 fine_conf_entity 表,修改WriteOptimizationConfig.verifyCustomValue参数值为false,重启 tomcat 即可。
4.2 升级后填报校验失败
问题详情:
升级11之后,数据校验不通过,填报失败。
原因分析:
10.0中对空格不进行校验,11里面空格识别为自定义内容,导致了异常。
解决方案:
删除空格即可。
4.3 升级后标签控件写入html显示异常
问题详情:
10-11升级后 label标签控件写入html显示,大于号展示成>,如下图所示:
正常情况:
异常显示:
解决方案:
升级至 11.0.9 及之后的版本即可。
4.4 升级后日期控件报错
问题详情:
10-11升级后日期控件报错“找不到控件类型”,10版本正常,11版本报错,如下图所示:
原因分析:
初始日期用 YEAR(TODAY()) 返回的是一个数字类型的,和控件格式的 yyyy 类型不一致导致报错。
解决方案:
升级至 11.0.12 及之后的版本即可。
4.5 升级后下拉树控件异常
问题详情:
10 升级到 11 后,模板中使用下拉树控件,报错控件构建失败,原始标记字段为 XXX 的数据间构成循环
原因分析:
11 版本新增数据结构校验,重复的父 ID和子 ID 会构成循环,导致无法正常加载。
解决方案:
修改子 ID ,使之和父 ID 不会重复。
4.6 升级后模板查询不生效
原因分析:
11 版本中,username 为系统参数,控件名称使用了系统参数,查询时会直接读取系统用户信息,而非模板数据集中的用户信息。
解决方案:
修改控件名称为非系统参数即可。
5. 自适应问题
5.1 模板行高变高
问题描述:
8.0 使用部署升级方法升级至 11.0 后,cpt模板有自适应问题,单元格变的很高。
解决方案:
更换至最新的部署包,重新部署即可。
5.2 模板自适应失效,frm模板组件布局异常
问题描述:
10.0 升级到 11.0 后,PC端模板自适应失效,设计器界面frm模板组件布局异常,如下图所示:
移动端模板:布局错乱,pc端正常、报表块纵向拉长、报表块内产生横向或者纵向滚动条,如下图所示:
原因分析:
自适应逻辑变动导致的模板异常。
PC端:10.0 模板使用的旧自适应,升级后 11.0 使用新适应预览导致 PC 端模板异常。
移动端:10.0 版本移动端不支持新自适应,11.0 版本移动端开始支持新自适应。升级时候要用老自适应升级。
解决方案:
11.0 的自适应逻辑可参考:自适应属性
PC端:将 10.0 版本的模板新自适应改为老自适应,再放到 11.0 版本预览使用即可。
移动端:手动调整报表块的位置即可。
5.3 10.0 模板默认是双向自适应,11.0 环境中变成横向自适应
解决方案1:
手动调整 11.0 环境中的模板,将模板变更为双向自适应即可。
解决方案2:
手动修改 11.0 环境中 FINE_CONF_ENTITY 表的Plugin-ReportFit.frmFitAttr.fitStateInPC字段值为 2,并重启报表工程后设置生效。
修改 FINE_CONF_ENTITY 表字段的方式请参考:填报修改fine_conf_entity
配置项 | 含义 | 修改规则 |
---|---|---|
Plugin-ReportFit.frmFitAttr.fitStateInPC | 模板自适应属性 | 参数值需为正整型 0:默认值 1:横向自适应 2:双向自适应 3:不自适应 |
6. 导入导出问题
6.1 升级后excel导入报错XML-BEANScompiled schema
问题描述:
升级到11版本后,原来填报模板中工具栏的excel导入按钮导入excel报错“XML-BEANScompiled schema:Could not locatecompiled schemaresource”
解决方案:
升级到 11.0.11 的JAR后,重启即可。
6.2 导出文件文字不换行
问题描述:
导出PDF文件,单元格内的文字不自动换行,如下图所示:
解决方案:
排查 linux 服务器是否有中文环境,没有环境增加中文语言包环境即可。
6.3 模板中使用 if 进行空值判断,升级后 excel 导出报错
问题描述:
模板中使用 if 函数进行空值判断,形式如 if(月份 !='',"A","B"),模板 excel 导出后,触发 模板报错 ,生成报错日志。
原因分析:
if 空值判断逻辑 月份 !='' 错误。
解决方案:
使用 LEN( ) 函数进行空值判断,形式如 if(LEN(月份) == 0,"A","B")
7. 打印问题
7.1 java调用打印失效
问题描述:
9.0 升级到 11.0 后 java 调用打印失效,相关报错如下图所示:
原因分析:
9.0 与 11.0 的打印 API 接口变更,导致打印失效。
解决方案:
9.0 升级到 11.0 后需要更换新的打印 API,可参考:Java直接调用报表打印。