帆软使用总结

1.帆软执行存储过程,提示“该语句没有返回结果集”

解决方法:存储过程中添加:set nocount on

2.单元格条件求和

解决方法:=sum(D6{'>Φ16-Φ22' = C6})

3.当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'ZhuGuanChengBenYuSuan' 中的标识列插入显式值。

解决方法:报表填报里面,主键和数据库中对应出错

4.单元格死锁

解决方法:错误的单元格扩展导致错误

5.帆软js调用公式提示脚本调用限制

解决方法:决策系统里面,管理系统-安全管理-安全防护-脚本调用公式限制

6.js调用FR.remoteEvaluate执行存储过程,发现执行两次

解决方法:存储过程最后加上查询语句,好像是需要返回一个参数

7.添加行,出现添加多行情况

解决方法:看看左父格是不是非对应扩展

8.帆软切换工作目录失败

解决方法:一般是帆软服务器断开连接

9.java.lang.String cannot be cast to java.lang.Number 字符串转数字出错

解决方法:页面详细信息中看到at com.fr.function.RANK.run(Unknown Source),查看报表发现rank函数里面错误,包含了字符串单元格,修改即可

10.no function found: SUMPRODUCT

解决方法:帆软暂不支持乘积函数(SUMPRODUCT)

11.数据库取数,帆软不显示,而其他取数能正常显示

解决方法:查询条件不正确

12.年月日数字转中文

解决方法:=FORMAT(today(), "MMM"),其中“M”至少要三个,多一点不影响结果

13.从数据类型 nvarchar 转换为 decimal 时出错

解决方法:某些公式计算当中,嵌套单元格层级太多,需精简

14.单元格采用列表,无效

解决方法:没有关联左父格,修改即可

15.UPDATE command denied to user 'jcadmin'@'WIN-AJQERF1RCMF' for table 'æ•°æ�®å®¡æ ¸_抽检抽æŸ

解决方法:报表填报中,数据连接名称与数据库表选择错误

16.隐藏参数面板按钮

解决方法:_g().parameterEl.getWidgetByName("importBtn").setVisible(false);

17.隐藏单元格列

解决方法:$("td[id^='X']").hide();

18.connection holder is null

解决方法:数据填报中,数据连接选择错误

19.按钮插入行,插入之后,出现了分组

解决方法:控件那一栏,指定单元格,指定一个唯一单元格

20.隐藏sheet

解决方法:$('[title="sheet名称"]').hide()

21.js获取帆软参数

解决方法:${变量名}

22.please check the database service to ensure that is is available...

解决方法:重启电脑即可,预估错误为数据库启动失败,造成帆软无法连接

23.帆软填报页面,参数面板和报表块是分离的,属于不同js范围

24.读取单元格值:contentPane.curLGP.getCellValue("G" + row);

填写单元格值:contentPane.setCellValue("G" + row, null, ""); 控件取值:_g().getWidgetByName("").getValue()

25.单元格编辑事件结束后取值,无法取到当前值

解决方法:延迟后可获取。

26.frm报表,查询按钮不出现

解决方法:参数面板上,查询按钮位置过于靠右,页面显示不在当前区域,往左侧放置即可。

27.frm报表中,数据集有内容,页面不显示

解决方法:某个单元格在属性-其他-分页中,选择了行前分页,去除选择即可。

28.空值条件查询

解决方法:${if(len(KeHuDengJi) == 0,"","and 客户等级 = '" + KeHuDengJi + "'")}

29.填报提示:小数位数过多

解决方法:单元格条件设值后,编辑控件实际无值,在条件里面添加控件,不在单元格添加控件即可。

30.点击插入行按钮,提示'A1单元格不能扩展'

解决方法:修改控件属性,指定单元格

31.隐藏参数面板

解决方法1:修改cpt中ReportParameterAttr属性,将showWindow设为false即可,会造成控件失效。

解决方法2: $(".parameter-container-collapseimg-up").trigger("click"); $(".parameter-container-collapseimg-up").hide();

<think>好的,用户之前问了关于决策报表如何通过按钮返回首页的问题,现在又接着问网页框的使用。这说明用户可能在开发报表时,需要集成外部网页或者内部的其他报表页面,想了解如何利用网页框组件来实现这些功能。 首先,我需要回忆报表中网页框组件的基本作用。网页框通常用于嵌入外部或内部的网页内容,比如展示其他系统页面、动态数据监控或者内部报表链接。用户可能想知道如何配置网页框,以及有哪些实际应用场景。 接下来,用户可能的真实需求是什么?他们可能需要在报表中集成实时数据展示,比如嵌入一个BI看板,或者链接到其他部门的系统页面。也有可能他们希望在一个报表中整合多个来源的内容,保持界面统一。此外,用户可能关心如何传递参数到嵌入的网页,或者处理网页框的刷新、大小调整等问题。 需要详细说明网页框的设置步骤,包括如何添加组件、配置URL地址、调整属性等。同时,要举一些实际例子,比如嵌入静态页面、动态传参、结合按钮刷新内容等,让用户更容易理解应用场景。 还需要注意用户可能遇到的常见问题,比如跨域限制、页面样式适配、传参方式是否正确等。这时候应该给出解决方案或调试建议,比如使用代理页面绕过跨域问题,或者使用JavaScript调整嵌入页面的样式。 另外,用户之前的问题涉及到JavaScript事件,可能对通过脚本控制网页框感兴趣。可以补充如何使用按钮事件来动态改变网页框的URL,或者与网页框内的内容进行交互,比如调用内部函数。 最后,总结网页框的优势和适用场景,帮助用户判断何时使用网页框,而不是其他组件。比如,当需要集成外部系统或动态内容时,网页框是一个很好的选择,但也要注意性能和兼容性问题。</think>--- ### 一、网页框组件简介 **网页框**是决策报表中的一种容器组件,用于在报表内嵌入外部网页或本地 HTML 内容。核心功能包括: - **跨系统集成**:直接展示其他系统页面(如 BI 看板、监控大屏、ERP 页面等) - **动态内容加载**:通过参数传递实现页面内容动态刷新 - **交互扩展**:与报表其他组件联动(如通过按钮控制网页框行为) --- ### 二、基础配置步骤 #### 1. **添加网页框组件** - 打开决策报表设计器 → 从组件面板拖拽 **网页框** 到绝对画布中 - 调整大小和位置(支持自适应布局) #### 2. **设置网页地址** - 选中网页框 → 右侧属性面板 → **网页框** → **地址** - 输入完整 URL(支持动态表达式): ```plaintext http://www.example.com?param1=${参数1} ``` - **本地文件**:可通过 `file://` 协议加载本地 HTML(需注意浏览器安全限制) --- ### 三、典型应用场景 #### 场景 1:静态网页嵌入 ```plaintext 地址 = "http://www.example.com/weather" ``` **效果**:在报表内固定展示指定网页(如天气预报、新闻资讯等) #### 场景 2:动态传参交互 ```plaintext 地址 = "http://bi-system.com/sales?year=" + $year ``` **联动方式**: 1. 报表添加年份参数控件 `$year` 2. 参数变化时自动刷新网页框内容 #### 场景 3:与按钮联动刷新 1. 添加按钮 → 设置点击事件: ```javascript var web = this.options.form.getWidgetByName("网页框1"); web.loadURL("http://new-url.com"); // 动态修改URL ``` --- ### 四、高级功能 #### 1. **跨域通信(需配合 JS)** 通过 `postMessage` 实现报表与嵌入网页的数据交互: ```javascript // 网页框内页面发送数据 window.parent.postMessage({type: 'data', value: 123}, '*'); // 报表接收数据 window.addEventListener('message', function(e) { if(e.data.type === 'data') { console.log("接收值:", e.data.value); } }); ``` #### 2. **自适应高度** 通过 JavaScript 动态调整高度: ```javascript // 获取网页内容高度后设置 contentPane.getWidgetByName("网页框1").setHeight(500); ``` --- ### 五、注意事项 | 问题类型 | 解决方案 | |-----------------|--------------------------------------------------------------------------| | **跨域限制** | 使用代理页面中 或 目标服务器配置 CORS | | **登录态丢失** | 在 URL 中追加 token 参数(需确保安全性) | | **页面白屏** | 检查地址协议(http/https)是否与报表部署环境一致 | | **性能优化** | 对高频刷新内容启用懒加载(设置 `延迟加载` 属性为 true) | --- ### 六、特殊用法示例 #### 嵌入 FineReport 自身报表 ```plaintext 地址 = "/webroot/decision/view/report?viewlet=订单分析.frm&地区=${地区}" ``` **特点**:实现报表嵌套展示,保持整体界面统一 #### 结合参数面板 1. 创建参数面板控件(如下拉框 `地区`) 2. 网页框地址绑定参数: ```plaintext http://map-system.com?region=${地区} ``` 3. 选择不同地区时,地图自动更新 --- 通过合理使用网页框,可以实现: - 企业多系统数据聚合展示 - 第三方服务快速集成 - 复杂交互场景扩展(如嵌入视频会议、实时监控等) 建议优先通过 **参数绑定** 和 **JavaScript 交互** 实现动态控制,而非直接暴露原始 URL 地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值