参数面板查询按钮提示CustomJSERROR

image.pngimage.png

image.png实现从其他报表超链接打开之后,不需要点查询,自动查询

FineReport 18080816943 发布于 2023-3-22 19:30 (编辑于 2023-3-23 14:38)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
18080816943Lv4见习互助
发布于2023-3-23 15:47

二次开发常见问题- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

2.1 报错显示无法读取未定义的属性

问题描述:

在给报表中加入一段 JS 代码中,预览报表显示 CustomJSError : Cannot read properties of undefined (reading 'XXXXX') 

如下图所示:

原因分析:

可能是您代码中使用的某个变量不存在,拼写错误。

或者是由于报表创建速度影响,报表块对象没有完全创建,添加的 JS 语句提前执行,从而获取不到对象导致报错,这种情况一般发生在「初始化后」和「加载结束」这种事件中。

解决方案:

如果是语法或者名称错误,可对应修改,如果语法、名称都无错误,那很大可能就是报表创建延迟的问题,这时候可以通过添加一个延迟函数延迟执行从而让代码在报表对象创建完之后执行,

如下所示,给 _g().parameterCommit(); 代码中添加延迟函数:

setTimeout(function({_g().parameterCommit();}, 500)

最佳回答
0
CD20160914Lv8专家互助
发布于2023-3-22 19:41

把你获取参数的那个公式删除直接类似这样测试看:

var a = this.options.form.getWidgetByName('lj').getValue();

if(a==99){

_g().parameterCommit()

}

js中要用两个等号判断它是99,不能只用一个,还有检查你的参数面板上有没有一个控件叫lj的控件

  • 1关注人数
  • 1440浏览人数
  • 最后回答于:2023-3-23 15:47
    请选择关闭问题的原因
    确定 取消
    返回顶部