 报表型IsoBean
报表型IsoBean
  # FastWeb 报表型IsoBean
报表型IsoBean可用于在界面中输出PDF类型的报表,可根据输入的参数调整报表的数据集查询条件,或者是直接控制报表上显示的内容。
报表型IsoBean模块的设计开发流程如下。
- 设计报表
- 设计IsoBean模块
- 发布IsoBean模块
# 1. 设计报表
设计报表的部分可参考 报表中心之创建报表 的示例进行创建。
# 2. 设计IsoBean模块
  点击 [云服务工具] - [IsoBean模块管理],打开IsoBean模块管理界面,点击 [添加] 按钮,按照以下提示创建一个IsoBean模块。其他信息中请注意要将 是否激活? 选项进行勾选。填写完成后,点击 [保存] 按钮。


  创建完成后,选择创建的IsoBean,点击 [API设计],创建的API请按照以下方式进行设置。
function RestAPI()
{
  var pdf="";
  var p1 = iif (URLParams.Values["Param1"] == "",APIParams.Values["Param1"],URLParams.Values["Param1"]);          //参数1
  var p2 = iif (URLParams.Values["Param2"] == "",APIParams.Values["Param2"],URLParams.Values["Param2"]);         //参数2
  var p3 = iif (URLParams.Values["Param3"] == "",APIParams.Values["Param3"],URLParams.Values["Param3"]);        //参数3
  pdf = GetPublicReportPdfUrl("report_quickstart",p1,p2,p3);  //获取战情中心报表,会转化为PDF 链接
  
  //以下为显示PDF内容
  Result = " <html>"
           + "   <body style=\"margin: 0px;height: 100%;width: 100%;\">"
           + "     <iframe width=\"100%\" height=\"100%\" frameborder=\"no\" border=\"0\" marginwidth=\"0px\" marginheight=\"0px\" scrolling=\"no\" allowtransparency=\"yes\" src=\"uni-" + UniGUIVersion + "/pdf.js/web/viewer.html?file=" + pdf + "\"" 
           + "             width=\"100%\""
           + "             height=\"100%\""
           + "     >"
           + "     </iframe>"
           + "   </body>"
           + " </html>";
  return(Result);
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  API设计完成后,点击 [保存] 图标按钮保存。
# 3. 发布IsoBean模块
  保存后,返回列表界面,选择刚才创建的IsoBean模块,点击 [IsoBean发布],打开 IsoBean 发布的界面。

  选择要发布的用户,点击 [IsoBean 选择...],从打开的IsoBean列表中选择IsoBean模块,双击导入至发布列表中,点击 [保存] 按钮,然后点击 [确定] 按钮关闭发布界面。
  返回IsoBean模块界面,选择要测试的IsoBean模块,点击 [IsoBean测试] 按钮,打开接口测试界面,点击 [Send] 按钮,下方如果出现报表的界面,说明IsoBean设计完整。

按照本节开头的方式将IsoBean发布给其他用户,之后,可使用 http://localhost:8888/?isobean=IB_nb-rep-0001_reportapi&userkey={user_guid} (opens new window) 来发送执行报表的生成。如果需要自定参数的,可在上述URL中添加设置的参数名称。例如 http://localhost:8888/?isobean=IB_nb-rep-0001_reportapi&userkey={user_guid}&Param1={param1}&... (opens new window)
