知识库

推荐内容

快逸做的更好

您的位置: 首页 > 知识库> 设计基础> 会话变量在Web报表中的应用

会话变量在Web报表中的应用

Web报表设计器支持会话变量,本文通过本示例,可以了解会话变量在报表中的应用。

制作如下图所示的报表:

会话变量在Web报表中的应用

报表特点:

  • 用户在查看报表时,报表能够自动获取系统当前用户的帐号ID
  • 报表使用获取到的用户ID查询出该人员所销售的全部订单,因此每个人只能在这张报表中查看到自己的数据

报表中的数据来自产品中自带的演示数据表“演示_订单表”,采用sql检索数据集并对字段“雇员ID”设置了进行数据过滤的检索条件,数据集sql语法如下:

Web报表中的应用

制作方法

在定义报表的sql检索数据集时,选取对应的表和字段后,在检索条件设置中定义一个名称为“sys_UserID”、参数类型为“会话变量”的参数,并应用这个参数设置对字段“雇员ID”的过滤条件。

参数定义如下图:

会话变量的应用

数据集过滤条件设置如下图:

Web报表设计

绘制报表格式,并应用制表助手实现这张列表式报表的制作,注意F2单元格的值是引用了参数“sys_UserID”,即单元格中显示的是当前查看报表的用户ID:

Web报表

 

功能点说明

会话变量

会话变量是一种特殊的参数类型。它是能够从web服务器的session会话中读取信息的参数变量。会话变量的值,是自动从session中取同名变量的值。

在产品中,默认可以通过会话变量自动获取当前系统登录人员的用户帐号ID、部门ID、角色ID。对应的会话变量命名规则为:

  • 用户ID: sys_UserID
  • 机构ID: sys_Orgs_ForDAUC
  • 角色ID: sys_Roles_ForDAUC

在报表中设置了以上名称的会话变量时,报表计算就能够自动地获取对应的信息。利用获取到的用户ID、部门、角色信息,可以实现灵活的报表控制,比如进行这些信息的显示,进行数据权限的控制等等。

例如上面的示例报表中,设置了会话变量“sys_UserID”获取当前系统人员的ID,基于该ID值最终实现对报表数据的过滤控制。

详细了解会话变量的应用,请参考:参数

本文标签: