目录:
- 概述
- --- 文本域和文本控件常见问题 ---
- 文本域控件换行时会清空输入值
- 文本域输入换行内容后提交没有换行效果
- 文本域内容过多时无法提交入库
- 单元格为空时赋值 HTML 无效
- --- 网页框控件常见问题 ---
- JS 监听事件无法作用于网页框中内容
- 网页框地址中的模板名称不能带空格
- --- 复选控件常见问题 ---
- 复选控件多值入库不正确
- --- 下拉树控件常见问题 ---
- 下拉树填报时丢失层级结构
- --- 按钮控件常见问题 ---
- 按钮控件过多导致填报页面加载慢
- --- 单元格控件赋值异常 ---
- 用 Widget.setValue() 给单元格控件赋值异常
- --- 插入删除行/新增行常见问题 ---
- 使用JS插入0行不能触发条件属性判断
- 插入删除行卡顿
- 插入行暂存后提交出现空白行
- 按钮控件插入行时报错 this.currentSinglePageModel...
- 插入删除行后公式失效
- --- 其他问题 ---
- 未提交离开提示没生效
- 在模板事件中设置的公式,无法获取填报值
- 填报单元格形态不生效
- 填报预览图表不显示
概述编辑
--- 文本域和文本控件常见问题 ---编辑
文本域控件换行时会清空输入值编辑
文本域输入换行内容后提交没有换行效果编辑
问题描述:
文本域控件在输入换行显示的内容后,点击提交发现数据库中的数据未显示换行。
原因分析:
文本域控件中的换行效果支持提交入数据库中,但在数据库中并不显示。
解决方案:
当把数据字段拖入模板中预览即可看到换行效果
文本域内容过多时无法提交入库编辑
问题描述:
文本域控件内容较多,提交入库时发现有部分数据未入库。
原因分析:
内容过多超过 Web 服务器的限制
解决方案:
更换上传方式或分批上传。
单元格为空时赋值 HTML 无效编辑
问题描述:
单元格设置了「用HTML显示内容」,当初始内容为空时,手动填写或者JS赋值HTML内容时,单元格无法正常展现HTML样式。
原因分析:
当单元格初始为空时,该单元格即使设置了「用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)图表变为字符串排查,有可能是图表在填报暂存下存储为字符。