自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

帆软爱好者的专栏

分享帆软产品的开发,使用经验

  • 博客(381)
  • 资源 (19)
  • 收藏
  • 关注

原创 Fr目录挂载第三方连接后,在目录里打开的时候是直接弹出一个新窗口打开,而不是在决策系统打开,并且菜单上不要有选中状态,

如果有选中状态,如果想点击其他的,需要先取消这个的选中状态。

2024-04-22 07:24:40 9

原创 FineBi中创建自定义的图表

这里会发送方几个消息。4 在bi.plugin.client.min.js中定义了window.BIPlugin对象,我们的自定义组表组件的js就是通过BIPlugin对象来将我们自己的逻辑注入进去。从init方法中可以看到,他会监听iframe的外部的消息,init可以有两个参数,第一个是render函数,第二个是refresh函数。3 自定义图表组件是用conf.min.js中的 bi.custom.chartdisplay 组件来渲染的。-- 下面的js代码是我们代码中要求引入的 -->

2024-04-22 06:54:09 372

原创 finereport11远程设计器保存模板时源码分析

相关的类有:ServerTplOperator,RemoteDesignHelper,FileLockHelper,TplOperator。5 下一步ServerWorkResource的save方法。它实现了接口WorkResource,里面就是对文件的基本操作。messageListener的默认实现类是WorkspaceServerInvoker,可以修改它来做自己的事。2 远程设计器收到本地保存消息是在RemoteDesignResource的onMessage方法。

2024-04-16 08:41:40 35

原创 fr中如果要调整FVS中的图表类组件的相关属性的研究摘要

resource=/com/fr/plugin/wysiwyg/web/static/js/preview.f8c6df67.chunk.js中。用svg画的,vancharts-all.js中搜索_svgRender方法,他内部是遍历this.series来绘制每条path。对dom元素inner-widget-container就行管理的类是:27085行, function A(t) ,加了一些事件的监听。搜索 t.ctx.fillText(r, u, h),// 这里可以执行你需要的操作。

2024-04-09 07:02:20 131

原创 FR中隐藏系统管理--用户管理中 表格中每条数据中的编辑按钮,删除按钮

【代码】FR中隐藏系统管理--用户管理中 表格中每条数据中的编辑按钮,删除按钮。

2024-04-09 06:58:07 29

原创 finebi6.0中我的分析中...中加自己的菜单

【代码】finebi6.0中我的分析中...中加自己的菜单。

2024-04-08 06:54:38 125

原创 完美解决Iframe嵌入帆软报表出现跨域cookie写不进去的问题

那报表后续的请求如何加上这个fine_auth_token,通过观察,我们发现,如果给报表url上加上fine_auth_token,后续的请求中的Refer也会有这个fine_auth_token。我们可以这样想,如果帆软内部获取token,如果从cookie中获取不到,就从url上获取,如果url上也获取不到,那么就从请求Refer请求头中获取也可以拿到这个token了。从上面看到,如果从cookie中没有获取到,就从请求头中获取,还是没有就从paramter中获取。

2024-02-29 15:45:22 223

原创 FCRP第一题详解一

所以这里不能通过SQL语句来过滤,SQL语句中中只能全部查询出来,这样保证了下拉框的数据是全部,单元格里的数据只能通过数据列过滤来实现。公式里这样写:if(len($productName)==0,nofilter,$productName)整个模板只能出现一个数据集,下拉复选框与报表主体共用一个数据集,且不影响互相显示。然后运行模板,初步做到了下拉框里是所有的商品名,选中商品,查询出来的结果就是谁。下拉框的控件名字改为 productName,绑定模板参数。返回值为数组,返回值里放的是产品名。

2024-01-09 20:41:48 409

原创 如何将ElementUI组件库中的时间控件迁移到帆软报表中

appearanceForWidget:返回组件属性的实现类,这里面就是设计器右边属性面板上的属性,实现当修改了属性面板的值会传递到 classForWidget对应的类中来保存。classForWidget:返回组件的定义类,里面定义组件的属性,运行时需要向前端传递哪些属性,序列化保存,读出配置的属性。需求:需要将ElementUI组件库中的时间控件迁移到帆软报表中,具体为普通报表的参数面板中,填报报表的组件中,决策报表的组件与参数面板中。iconPathForWidget:设计器上该组件的图标。

2024-01-05 11:59:39 796

原创 帆软报表如何灵活控制水印的显示

经过分析发现报表预览时,这个属性是在MemXPageWorkBookExecutor类的dealWithExecutedAttr方法中来做的,填报是在WriteWorkBookExecutor类的dealWithExecutedAttr类中实现的。在他的newAppExporter方法中使用自己的exporter,在自己的exporter的exportFor2007方法中提前去处理ResultWorkBook的WatermarkAttr属性。这时产品的功能就实现不了了。

2023-12-30 20:58:37 552

原创 帆软报表中定时调度中的最后一步如何增加新的处理方式

2 后端改造,首先定义一个com.fr.plugin.xxxx.bean的类,来封装这些属性,他需要实现BaseOutputAction类,他的runType需要返回RunType.SEND_FILE。在定时调度中,到调度执行完之后,我们可能想做一些别的事情,当自带的处理方式不满足时,可以自定义自己的处理方式。可以从bean里拿到页面配置的信息,从Map中拿到调度里配置的其他信息,就可以完成你想做的事了。前端需要处理新的处理方式的界面,后端需要读出前端的配置信息来做实际的处理。

2023-12-29 21:11:12 951

原创 帆软报表中定时调度中使用自己的短信平台,并且不使用官方商城里的模板

首先我们观察 这里获取短信模板信息的请求是v10/config/sms,我们可以将他返回的内容更改,就能达到读取我们自己的模板信息。限制太多,使用起来非常不方便,如果我们想要使用自己的短信签名,并且使用自己的短信发送平台。其次,通过官方的开放接口SMSServiceProvider可以调用自己的短信平台来发送短信。此时需要帆软市场,并且短信模板只能使用帆软市场里配置的短信模板。调用自己的短信平台来发送。

2023-12-29 11:31:37 440

原创 帆软报表初始化时关于SessionPoolManager的过程

首先看到这里有个开放接口 RequestParameterCollector,如果我们想要收集一些特殊参数,可以通过他来实现。Weblet的dealWeblet方法中,不同的报表类型返回的是不同的Weblet,比如cpt返回的就是StreamReportlet。最后,如果我们想要获取,怎么获取呢,在每个报表访问的时候有个sessionId,我们可以跟他他来获取。这里是他的创建过程,这里首先是收集相关参数到一个Map中。可以看到我们平常用的一些变量比如fine_username是在这里收集到的。

2023-12-15 12:46:55 436

原创 帆软报表分页预览如何增加一种新的导出类型。

首先该页面的内容是通过MemXPageActor的flushHtml方法产生的。所以我们需要继承MemXPageActor来重载flushHtml。在里面加入自己的新的菜单项以及调用的js。通过分析源码,发现这个菜单的定义是再报表预览加载的html页面里面。如图,这里要在 导出下拉菜单中新增一个签章PDF的导出。咋们如何再这里面插入我们新加的菜单项呢。

2023-07-14 20:20:20 467

原创 帆软报表二次开发 树组件节点上添加自己的按钮

那怎么实现呢,这里采用拦截makeDOMNodeMainAfte方法,在它的内部先插入我们自己的组件,最后再插入标签。这就是构建li的方法,我们可以在调用makeDOMNodeMainAfte之前插入我们的内容来达到在树节点上添加自己的组件。我这里是有条件的加入自己的组件,加入了一个复制按钮,点击时将url属性复制到剪贴板上。通过查找源码发现这个组件内部构建树是通过BI.$.fn.zTree来构建的,我这里的需求是在树组件的子节点上加一个复制按钮。它里面有个view,通过view来构建的。

2023-06-12 06:21:17 655

原创 帆软报表分页预览打印,如果列数过多,打印时会将多余的列放到第二页来打印,现在需要把所有的列都放在一页来打印。并且填满整个区域

但是我现在想要的效果是所有的列都在一页里,列不分页。并且要填满整个区域。当我们的报表列数过多时,打印的时候多余的列会分页。可以看到27列都显示在一页里了。

2023-05-30 20:57:14 1427

原创 帆软报表决策系统定时调度后台代码知识点

1 添加定时调度的控制器是com.fr.web.controller.schedule.web.api.ScheduleTaskResource,里面有对任务的添加,执行,删除,更新等操作。2 定时调度的执行是在com.fr.schedule.extension.report.job.execute.ExecutePageJob的doJob方法,2 定时任务执行是在com.fr.schedule.feature.job.result.ExecuteResultJobdoJob方法中。

2023-03-31 17:08:17 748 1

原创 帆软报表设计器 数据集之数据库查询

然后调用TableDataFactory的creatTableDataPane。当点击数据库查询时,调用TableDataTreePane的。看到他会从map中来获取。

2023-03-21 23:05:36 384

原创 帆软报表中使用悦享版文件上传下载插件UUID问题

这里只说上传,当我们使用悦享版文件上传下载插件做上传填报时,按照插件说明,如果文件名配置为uuid,通过函数FILENAME获取到的其实是文件的原始名称,并不是uuid名称.那么如果我想拿到这个uuid,并且保存到数据库中时,如何做呢?这里做上传有两种方案,第一种是根据插件说明中的使用事件,就是另外放一个按钮,点击按钮先上传文件后拿到uuid,再点报表的提交,将uuid拿到后与其他填报字段一起入库。

2023-03-21 16:37:21 695

原创 帆软报表设计器零碎知识点

var10.getRoleType() == RoleType.CUSTOM 表示是角色,远程设计权限分为按用户,按角色来配置,RoleType.CUSTOM表示这条数据是按角色来配置的。设计器中获取模板目录树有个组件叫 com.fr.design.remote.ui.tree.FileAuthorityTree。1 设计器上的远程设计权限管理菜单类是RemoteDesignAuthManagerAction。选择了用户或者角色最后保存时,是通过下面存的。当设计器连接的是远程时。

2023-03-21 06:01:06 181

原创 帆软报表各种情形下引入js

3.EncryptionComponent.KEY——$HOST/v10/encryption/page 平台切换国密的时候才可能会用到,主要用于提示异常。8.MigrationComponent.KEY——$HOST/v10/migration/page FineDb迁移数据时的进度页面,在插件中用处不大。12.WorkflowComponent.KEY——$HOST/workflow/authority 单独访问多级上报权限控制页面时生效。被依赖组件——前端页面。被依赖组件——前端页面。

2023-03-16 21:39:04 805

原创 FineBi实现同一张仪表板,不同的人看到的数据是不同数据库的数据

配置角色finedb_role对应的数据库是finedb,角色my_finedb_role对应的数据库是myfindb。使用场景:这个主要针对的是fineBI直连模式下的数据库表与SQL数据集,因为只有这两种才谈得上去动态切换数据连接。6 新建用户gb102101,gb102102, 角色分别是finedb_role,my_finedb_role。3 在公共数据中将demo_holiday_entity加进来。7 将仪表板的权限,与数据库表的权限赋给这两人。8 分别用这两个用户登录查看仪表板。

2023-03-05 20:48:18 636

原创 分析帆软填报报表点提交的逻辑

比如op=fr_write这个服务中定义的动作处理不仅包括submit_w_report,还包括cal_write_cell,read_w_contentappend_w_data,delete_w_data等。这些都在FbtfrGtjocxa类中定义的,submit_w_report.对应的是类FbtfrGjrdamLwiimpXasipp。2 我们知道当点提交时,发送的请求中的参数为 op=fr_write,cmd=submit_w_report.他里面的dealWithConn方法是来创建连接的。

2023-03-01 13:17:47 950 5

原创 分析finebi5.x仪表板组件获取数据过程(数据是数据集或者sql的)

当我们访问这个连接时,会来到FineLinkAction的getShareReport方法。这里面会加载一个show.min.js。

2023-02-12 10:36:03 394

原创 帆软报表动态数据源插件2.0使用教程

目前两种方案只能选择一种来使用,不能两种同时使用。如上图种配的来源于决策系统的两条数据表示,当访问报表 动态数据源\查假期数据.cpt时,如果当前登录人角色是zhangsan,就使用myfindb这个数据连接,如果当前登录人角色是lisi,就使用finedb这个数据连接。这里可以对报表进行配置,如图,这里显示了那两种方案,一种是角色的数据来源于URL上的role变量,另外一种是来源于决策系统种的角色。这里定义某个人再访问某张报表是,如果他的角色是A,就使用数据连接A,如果他的角色是B,就使用数据连接B。

2023-02-05 22:05:34 1338

原创 帆软报表二次开发将单元格列名转为索引并获取值

比如我的报表的单元格上有一个单元格是AE1这个单元格,我向获得他的值。

2023-02-03 23:05:04 380

原创 帆软报表设计器中如何获取单元格中的widget以及当前选中的widget

【代码】帆软报表设计器中如何获取单元格中的widget以及当前选中的widget。

2023-01-24 18:02:24 359

原创 帆软报表图表组件开发记录

1 图表组件的开发也跟其他组件开发是一样的,这里有两个东西,一个是组件本身,一个是组件的属性面板。当编辑组件时候,组件的属性值会传递到属性面板上,当在属性面板上修改了属性值,会传递到组件中去,当点击保存报表时,组件会将属性值存到报表的xml文件里,当预览的时候,组件会将他的属性通过json传递到前端js中,js端就可以通过这些属性来构建界面了。3 当设计器启动时,会注册一些图表相关的东西,这是com.fr.design.chart.ChartDesignerActivator的start方法中定义的,

2023-01-12 17:17:59 803

原创 帆软报表决策报表开发自定义组件分析

自己定义的组件名字到前端时系统默认加上report.main.parameter_container.controller.比如你定义的组件名字是paramButton,到前端时,系统将以report.main.parameter_container.controller.paramButton来创建。前端有两套注册组件的代码,一套使用$.shortcut,一套使用 BI.shortcut。1 后台写法与开发参数面板组件一样的写法。

2023-01-12 07:40:50 407

原创 帆软报表设计器参数面板相关类

1 参数面板最外层的类是:com.fr.design.parameter.ParameterDefinitePane。

2023-01-09 10:45:16 393

原创 帆软报表新填报控件,只支持PC端

帆软finereport填报下控件显示比较单调,这里推荐一个新插件,里面内置了一些填报下使用的新控件。

2023-01-08 21:19:46 267

原创 finereport设计器中点击单元格的时候控件属性面板是怎么出来的以及如何开发填报下的组件

classForWidget(),一个是appearanceForWidget(),前者就是我们的Widget类,后者就是Widget对应的属性面板的类。Widget代表单元格上对应的组件类,appearanceForWidget就是这个组件类对应的属性再属性面板的展示,这两者之前是怎么联系起来的呢?这里widget与appearance就可以交互了,比如属性面板上的值写到Widget里,widget里存放的属性放到appearance上。系统自带的组件的映射关系是放在defineMap里的。

2022-12-31 17:36:00 864

原创 FineReport公共服务接口插件说明

插件下载地址:链接:https://pan.baidu.com/s/1K6GsA9PECoc1lC9-ErGnkA。1 获取设计器中模板文件的树结构数据。该插件提供了一些公共服务接口,HTTP调用。2 修改某个用户的密码。3 修改所有用户的密码。1 获取所有用户名字。

2022-12-27 09:01:59 1097

原创 说一说Fine BI中的数据权限是如何实现的。

再FineBi的决策系统中,我们可以把我们的数据集赋查看权限给某个员工,查看权限还包括数据集的某些列,某些行只能哪些人看到。这个决策系统里也已经实现了,当我们的需求需要结合这些与自己的系统向结合的时候就需要知道他是怎么实现的。我需要把这些数据集展示出来都给所有的员工看到,员工自己来申请需要查看某个数据集的哪些字段,哪些行数据,当员工申请之后可能需要别的系统来审核,审核通过后才会把这些权限真正赋给某个员工。1 首先是需要读出这些数据集,抽取数据与实时数据的读取是不一样的。上面是读取分组-业务包的数据。

2022-12-20 23:07:41 1639

原创 帆软报表调用Oracle存储过程如果存储过程定义中没有参数,但是设计器中缺弹出一个storeParameter1参数的解决办法。

如图所示:存储过程定义中明明没有定义参数,设计器里的存储过程却识别出一个storeParameter1的参数,这个参数其实是帆软报表内部自己加的。

2022-12-12 09:20:35 443

原创 finereport公式帮助

1 if(inarray($$$,ds1.select(销售员))

2022-12-04 23:04:18 573

原创 帆软FCP第三题

这道题主要考排序问题。首先数据集准备: 第二步,报表制作:A2列为公式 =&B2,获取B2列扩展后的索引。D2列为公式 =sum(C2+D2)D列添加输入框组件。填报预览效果: 思路就是,当修改附加分时,添加js事件,动态改变表格的行。选中D2列, 在事件中添加编辑后事件。这里需要加个延时,需要等计算结果出来再排序。最后结果:

2022-12-04 16:54:48 1912 1

原创 SQL函数之分割

数据库中有一张地区数据统计表,但是并不规则 ,记录类似于,225100:02:3:20160725是一串代码,以:分割,第1位为地区代码,第2位为分类代码,第3位为数量,第4位为日期地区代码含义225100-上海 225200-江苏 225300-浙江 为可能有某些位不存在,缺位时计算规则如下:1、地区缺位时不参与统计2、时间缺位时按20151220来计算表里数据为: 最终要的效果为:1 给225300:02:14:加上20151220 select id,'225300:02:14:2

2022-12-03 17:45:31 669

原创 FineBI帮助文档一眼尽收眼底

官方finebi文档左边树不是全部展开的,没办法一眼就看到所有的内容。这里提供一个word版本,将左边树的所有节点做成word目录结构,一眼就能看到所有的内容。

2022-12-02 09:31:29 291

原创 FineReport帮助文档一眼尽收眼底

官方finereport文档左边树不是全部展开的,没办法一眼就看到所有的内容。这里提供一个word版本,将左边树的所有节点做成word目录结构,一眼就能看到所有的内容。

2022-12-02 09:26:10 318

FCRP考试认证第一题效果视频

FCRP考试认证第一题效果视频

2024-01-09

帆软报表新填报控件,只支持PC端

帆软报表填报下的控件比较单调,想让页面看起来丰富一点,可以使用该插件。使用说明可查看我的文章里。

2023-01-08

帆软报表Oracle存储过程解决storeParameter1参数试用插件

帆软报表调用Oracle存储过程如果存储过程定义中没有参数,但是设计器中缺弹出一个storeParameter1参数的解决插件

2022-12-12

FineBi帮助文档Word版

官方finebi帮助文档左边树不是全部打开,需要自己一个一个点开,没办法一眼就知道大概有哪些内容,本文档将左侧树做成word目录机构,一眼就能知道所有的内容。

2022-12-02

FineReport帮助文档Word版

官方finereport帮助文档左边树不是全部打开,需要自己一个一个点开,没办法一眼就知道大概有哪些内容,本文档将左侧树做成word目录机构,一眼就能知道所有的内容。

2022-12-02

根据用户使用不同的数据库连接插件

当数据集的sql语句一样,但是连接需要根据用户的不同来使用不同的连接

2022-07-11

帆软报表插件,显示sql数据集的查询时间。

显示我们的sql查询所花的时间。

2022-07-10

决策系统重置密码插件。

决策容易忘记密码,需要重置。

2022-07-09

数据工厂数据集插件试用版

帆软报表数据工厂数据集,目前只要支持HTTP请求的GET,POST请求,安全性比较高。

2022-07-08

帆软报表填报预览下的懒加载下拉树控件

填报预览下的懒加载下拉树控件

2022-06-13

帆软报表动态拦截jar包

这个jar包可以实现对帆软报表里的类的方法进行拦截。

2022-04-28

Cas登录客户端jAR包

Cas3.2.1客户端Jar包

2022-04-15

fine-plugin-com.fr.plugin.reset.userpasswd-1.0.zip

帆软finereport决策系统重置用户密码

2021-10-26

fine-plugin-com.fr.plugin.wx.customer.login-1.0.zip

当我们做项目的时候,考虑到安全,可能存在这样的需求,对外客户需要用 自定义的登录(比如验证码,第三方token),对内用默认的登录界面就行了,就可以使用本插件

2021-09-15

cq3h.ts.erp.qyweixin.acceptmsg_server.rar

index.js是验证url,index1.js是接收消息

2021-06-14

customer-login.rar

我文章里的例子代码就在这个插件里面,可以参考

2021-06-13

CryptoJS-v3.1.2.js

对于自定义帆软报表页面,但是又不想要加载fineui,由于登录时密码需要加密,可以使用这个来加密

2021-03-14

Arduino电子设计实战指南.零基础篇

Arduino电子设计实战指南.零基础篇

2019-02-21

ffmpeg-on-windows

ffmpeg-on-windows

2019-01-18

FFmpeg从入门到精通.pdf

FFmpeg从入门到精通.pdf

2019-01-17

zk开发文档pdf

最新的web开发技术,开源好用,易学。 ZK是一套以 AJAX/XUL/Java 为基础的网页应用程序开发框架,用于丰富网页应用程序的使用界面。最大的好处是,在设计AJAX网络应用程序时,轻松...

2013-03-22

Focal.Press.Flash.Mobile.Developing.Android.and.iOS.Applications.Mar.2011

很好的资源.flash开发ios的详细介绍

2012-09-11

c++开发指南 必看资料

c++ 送达方萨防速度飞速分散撒旦分萨飞萨大方萨防萨发

2011-03-04

FLEXDIANZISHU

ERTETERTERTRETTTTTTTTTTTTTTTRET

2009-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除