ITPub博客

首页 > 应用开发 > IT综合 > BOE超链接的做法

BOE超链接的做法

原创 IT综合 作者:woailuo 时间:2009-01-18 17:32:56 0 删除 编辑

BOE超链接的前台实现

[@more@]

BOE 超链接制作(opendocument)

在BOE的实施过程中,经常会遇到客户提出联查的需求,一般就是超链接的方式实现。

一.需求

例如:

A表为客户应收账款TOP 30

B表为客商往来明细表(以客商,时间为筛选条件)

要求点击A表应收账款的金额,能联查出该客商所在的公司,就是B表,在BOE中,其实就是一个超级链接,通过触发A表的金额,打开另外一张表。

二.超链接的制作方法:

1.首先建一个变量,用来做链接的触发字段。(变量的属性和要求做为链接的对象一致,说明白点,如图一,如果想通过点击客商名称来链接到另外一张表,则建立的变量属性就是维度(因为univers中客商名称的属性为维度),如果,想通过点击应收余额来链接到另外一张表,则建立的变量属性就是度量(因为univers中应收余额属性是度量)

2.JAJA环境下超链接的语法: (也就是新建变量的公式)

"客商名称"])+"&lsSyue="+URLEncode([月])+"">"+[本币余额]+"

*上面的这段代码是超链接的公式(没有一个符号的多余的)

我来解释一下这段代码的含义:(以颜色来区分)

" href="http://server:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?iDocID=9707&sIDType=ATjzd2uKTQFGtUokaWOT_P4&lsSkesh="+URLEncode([客商名称])+"&lsSyue="+URLEncode([月])+"">"+[本币余额]+""

    绿色部分为代码的固有格式,只要是JAVA平台,这部分内容都不需要变动,照搬就行了。

服务名称,一般都是BOE的WEB服务地址。

超链接的参数(超链的参数很多,我这里只说几个常用参数)

iDocID: 链接表的ID,用上图来说就是B表的ID。

sIDType:链接表的CUID,就是B表的CUID,之所以要用CUID来定位链接表原因是CUID是每个表固有的ID号(数据导出到其他资料库中CUID也是不会改变的)

获取 iDocID, sIDType方法,登录管理启动板-查询生成器:

进入查询生成器:

*应收TOP30(附表)就是文档中的B表的名称。

提交查询看到下表:

这是B表的各种报表信息,在属性中找项目:

这个是iDocID

这个是sIDType。

以上两个参数是用来定位链接报表,链接的报表打开通过查询过滤器,过滤条件的参数为: lsS,用于满足单个条件的传输。比如:客商名称等于XX等。。(多个条件参数看官方文档)

" href="http://server:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?iDocID=9707&sIDType=ATjzd2uKTQFGtUokaWOT_P4&lsSkesh="+URLEncode([客商名称])+"&lsSyue="+URLEncode([月])+"">"+[本币余额]+""

&,各个参数之间用的连接符号。

" href="http://server:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?iDocID=9707&sIDType=ATjzd2uKTQFGtUokaWOT_P4&lsSkesh="+URLEncode([客商名称])+"&lsSyue="+URLEncode([月])+"">"+[本币余额]+""

故有的函数格式,查询过滤器需要的得到的字段,使用URLEncode函数,如B图的查询过滤器为[客商名称],[月](这两个字段是从A表传递到B表的)

" href="http://server:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?iDocID=9707&sIDType=ATjzd2uKTQFGtUokaWOT_P4&lsSkesh="+URLEncode([客商名称])+"&lsSyue="+URLEncode([月])+"">"+[本币余额]+""

这个很关键,就是lsS后面跟的参数,例子里是lsSkesh=

这里的kesh是A表传递到B表的参数,B表查询过滤器要做相应的对应如下图:

将B表的查询过滤器属性先改为提示型的,然后将需要传输的字段写入编辑框。

说明白一点,kesh是随便叫的一个字符,可以把lsSkesh=直接更换成lsSabcd=,只要把B表的查询过滤器也做相应的修改就可以了,如下图:

传输的时候就是靠这两边的对应。

就是那个本币余额,这里放的东西,就是超链触发的字段,我这里是金额。

3.修改变量的单元格属性为:超级链接,如下图。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1807333/viewspace-1016265/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    1
  • 访问量
    2776