历史版本16 :填报常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

概述编辑

本文介绍制作模板时,填报相关的常见问题及解决方案。

相关文档链接:

填报常见报错代码

填报常见性能问题

Excel导入常见问题

--- 文本域和文本控件常见问题 ---编辑

文本域控件换行时会清空输入值编辑

问题描述:

文本域控件在选中部分文字后按 Enter+Ctrl ,选中的文字会消失,且无法使用 Ctrl+Z 回退。

原因分析:

选中文字后输入新值或换行,选中值会被覆盖清空,属于正常现象。

文本域输入换行内容后提交没有换行效果编辑

问题描述:

文本域控件在输入换行显示的内容后,点击提交发现数据库中的数据未显示换行。

原因分析:

文本域控件中的换行效果支持提交入数据库中,但在数据库中并不显示。

解决方案:

当把数据字段拖入模板中预览即可看到换行效果

文本域内容过多时无法提交入库编辑

问题描述:

文本域控件内容较多,提交入库时发现有部分数据未入库。

原因分析:

内容过多超过 Web 服务器的限制

解决方案:

更换上传方式或分批上传。

单元格为空时赋值 HTML 无效编辑

问题描述:

单元格设置了「用HTML显示内容」,当初始内容为空时,手动填写或者JS赋值HTML内容时,单元格无法正常展现HTML样式。

1652346409947551.gif

原因分析:

当单元格初始为空时,该单元格即使设置了「用HTML显示内容」,也不会被标记为HTML显示。因此在后续赋值时,不会有HTML效果。

解决方案:

可以在单元格中输入一个空格作为默认值,确保单元格初始化时有内容。

--- 网页框控件常见问题 ---编辑

JS 监听事件无法作用于网页框中内容编辑

问题描述:

主模板设置了JS监听事件,但无法监听到网页框里的页面。

原因分析:

主模板的监听事件只能监听到主模板的元素,对网页框页面无效。

解决方案:

在网页框的页面中加上同样的监听事件。

网页框地址中的模板名称不能带空格编辑

问题描述:

网页框控件地址栏中的模板名称如果带有空格,预览出现报错:1130004

原因分析:

V8.7 及之后版本不支持此功能。

--- 复选控件常见问题 ---编辑

复选控件多值入库不正确编辑

问题描述:

当填报时存在主键时,即做修改操作,提交成功后却只保留了一个值;填报时不存在主键时,即做添加操作,提交成功后数据库则会录入多条数据。

希望「下拉复选框控件」多选值提交后,能在一条数据中正确显示多个值。

解决方案:

可参考 复选控件多值入库不正确

--- 下拉树控件常见问题 ---编辑

下拉树填报时丢失层级结构编辑

问题描述:

单元格下拉树选择值后填报,入库数据异常增多。

原因分析:

下拉树控件值在转化为单元格值的时候,会丢失层级,分号会统一变为逗号,所以入库时会作为多条数据入库,造成异常。

解决方案:

单元格下拉树目前不支持提交入库。

--- 按钮控件常见问题 ---编辑

按钮控件过多导致填报页面加载慢编辑

问题描述:

当模板设置了跟随数据扩展的按钮控件,且数据量较大时,由于按钮控件渲染速度较慢,所以就会造成页面加载缓慢。

解决方案:

可参考 按钮控件过多导致填报页面加载慢

--- 单元格控件赋值异常 ---编辑

用 Widget.setValue() 给单元格控件赋值异常编辑

问题描述:

用 Widget.setValue() 给单元格控件赋值异常,但是用_g().setCellValue()直接给单元格赋值就正常。

解决方案:

给存在控件的单元格赋值时,需要使用单元格赋值语句,而不能使用控件赋值语句。

--- 插入删除行/新增行常见问题 ---编辑

使用JS插入0行不能触发条件属性判断编辑

问题描述:

使用 _g().appendReportRow(this.options.location, this.options.reportIndex,0) 插入 0 行时,无法触发条件属性重新计算。

原因分析:

11.0.5版本(2022.05.20)开始,取消了条件属性的二次计算,只有页面真的插入行时,才会重新计算条件属性。

插入删除行卡顿编辑

问题描述:

插入删除行时,页面卡顿,浏览器崩溃。

原因分析:

插入删除行时,整个页面的公式和行高列宽需要重新计算,如果公式复杂,或者用到了sql()等取数函数,就可能导致页面加载缓慢。

解决方案:

可以在模板预览 url 后增加 async_insert=true 参数,开启插入行页面异步加载。

插入行暂存后提交出现空白行编辑

问题描述:

插入行并修改后暂存,使用自定义按钮实现提交,但提交后刷新页面出现空白行。

原因分析:

自定义按钮的提交不会清空暂存,所以刷新后出现问题。

解决方案:

在自定义按钮的提交设置的回调函数中写入js清空暂存后再刷新。

_g().clear(undefined, false);
setTimeout(function() {
location.reload();
}, 1000)

按钮控件插入行时报错 this.currentSinglePageModel...编辑

问题描述:

点插入行时,弹出toast提示js报错。

原因分析:

点击控件插入行,模板会刷新。模板刷新时,getWidgetByName 找不到元素。两者结合,若点击插入行,模板正好刷新则报错。

解决方案:

衡量模板中为什么有频繁定时操作,是否确实需要,可考虑去掉频繁定时。

插入删除行后公式失效编辑

问题描述:

在填报联动,插入删除行,数据校验,数据提交时,出现公式结果和预期不一致。比如下图所示,想要统计A1扩展格中不为0的数据个数,初始预览正常,但是修改A1某个值后,count公式的结果就出现了问题。

原因分析:

在填报联动,插入删除行,数据校验和数据提交时,会对页面相关公式进行重计算,而数组函数,层次坐标和条件筛选函数是不支持重计算的,所以会出现一些结果和预期不一致的问题。

解决方案:

根据实际场景将数组函数,层次坐标,条件筛选转化为一般的公式。可参考:插入删除行后公式失效

--- 其他问题 ---编辑

未提交离开提示没生效编辑

问题描述:

模板修改或者填写数据后,在未提交的情况下关闭页面,没有提示「有数据未提交」。

原因分析:以下几种场景不支持触发该设置:

  • 导入Excel后未填报或修改过数据 

  • 决策平台内打开填报模板并进行填报

  • 使用动态参数刷新页面

  • 填报页面被嵌入在了其他页面中

在模板事件中设置的公式,无法获取填报值编辑

问题描述:

在模板各种JS事件或者模板消息插件设置界面中,调用公式时,无法获取到最新填报的值。

原因分析:

11.0.5 版本前,公式获取的为初始值,不支持实时获取预览后填报的值。

解决方案:

使用JS 接口获取需要的值,例如 _g().getCellValue()、_g().parameterEl.getWidgetByName().getValue()等。

填报单元格形态不生效编辑

问题描述一:

填报数据后,单元格形态未生效。

原因分析:可能性比较多,可以依次排查以下几点:

  • 使用了数据字典-数据集,对应数据集sql中不能存在参数

  • 使用了数据字典-公式或者公式形态,则只支持获取扩展单元格的第一个值。例如公式形态写=A1,则获取的始终是A1扩展出的第一个值

  • 使用了数据字典-公式或者公式形态,则需要排查使用到的值是字符串还是数组类型,不同类型处理方式有所差异,可能会导致问题


问题描述二:

填报分页后重新查询,页面停留在之前页数。

原因分析:

产品设计的正常逻辑。

解决方案:

在加载结束事件里用 _g().gotoPage(1) 跳转第一页。

填报预览图表不显示编辑

问题描述:

在填报预览时,图表不展示,被转换成了string形式。

解决方案:

常见的排查步骤如下:

1)JAR 包环境排查,确定设计器与服务器的 JAR 包是否一致。

2)插件环境排查,确定是否有冲突的插件。

3)图表变为字符串排查,有可能是图表在填报暂存下存储为字符。