电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

关于HTML端SQL报表字段存在特殊字符时的中断空白或报错提示详解

来源:金蝶云社区作者:金蝶2024-09-237

关于HTML端SQL报表字段存在特殊字符时的中断空白或报错提示详解

【问题描述】

在SQL报表中,如果字段key存在特殊字符,会在不同版本区间产生以下系统现象:

【1】在补丁版本PT-146939 [8.1.0.20230309]及以后,弹出提示:

【2】在补丁版本PT-146939 [8.1.0.20230309]以前,报表空白:

【3】若使用BOS设计器设计的报表,最新版本提示如下:



【业务场景】

业务场景介绍:

当二开插件中SQL语句字段的key包含特殊字符时,HTML在构造表格时,会根据不同版本,产生上述几种不同的影响。但不论是哪个版本,我们都推荐将特殊字符替换。



【原因分析】

注意:这是HTML端会出现的现象

底层原因是出于HTML是基于JavaScript语言所展示的超文本页面,而JavaScript在对象的读取上,存在一个key使用上的微妙不同。

我们用测试代码举例:

可以看到,上述代码中的测试对象包含了7种含有特殊字符做为key的项。

我们使用两个for循环做输出

【第1个for循环】使用js的 [key] 语法输出,让我们看一下结果:

【第2个for循环】使用js的 .key 语法输出,让我们看一下结果:


相信大家对比上面两张图,可以发现问题所在,原生JavaScript使用 .key 语法时,值与我们预定义的不同了,变成了undefined(未定义)

而这就是问题的根因所在。


星空HTML端底层框架在创建报表时,会根据不同的key,实例化创建不同的函数,以 .key 的方式去返回对应的结果,而如果key出现特殊字符,就会导致读取不到正确的值,从而出现上述影响。


【解决方案】

目前最佳的解决方案,我们仍建议将特殊字符做替换。


一、新版本优化PT-146939 [8.1.0.20230309]及后续版本

历史版本中,该问题会以表格空白的形式展示,可能会让使用者产生困惑。

在2023年3月份版本,我们做了一次数据上的优化,以及抛出了对应提示。我们将不含有非法字符的字段做了正常

关于HTML端SQL报表字段存在特殊字符时的中断空白或报错提示详解

【问题描述】在SQL报表中,如果字段key存在特殊字符,会在不同版本区间产生以下系统现象:【1】在补丁版本PT-146939 [8.1.0.20230309]及以...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信