现在的位置: 首页 > 综合 > 正文

变量管理

2014年09月06日 ⁄ 综合 ⁄ 共 1350字 ⁄ 字号 评论关闭
文章目录

变量是能依据预先设置的逻辑条件而动态生成特定值的一种参数或宏。 报表和应用可以通过获取变量的值来做一些数据的过滤与功能上的控制。

变量的定义

通过【控制台】-【变量管理】可以进入全局变量的管理界面。变量的属性包括:变量类型、变量ID、变量别名、变量描述、变量类型、变量值。

  • 变量类型:包括参数和宏。
  • 变量ID:每个变量的唯一标识,通过这个ID来进行变量的调用。
  • 变量别名:变量显示时的别名。
  • 变量描述:变量的描述信息。
  • 变量的类型:包括值、表达式、自定义类。值,不进行计算直接作为变量的结果;表达式,根据设置的逻辑条件动态生成结果。自定义类,配置一个实现类的类名,根据自定义类中的逻辑设定来计算出结果。
  • 变量值:与变量类型对应,当类型为值时,变量值为输入的值。当类型为表达式时,值为表达式或脚本。当类型为自定义类时,值为类名。

变量的表达式和脚本的定义需遵守一定的规则,具体如下:

表达式

表达式定义支持所有润乾函数,即只要能在报表单元格中能够执行的表达式都可以在这里进行定义。并且在定义全局变量时可以调用其它变量的结果。

示例:

if("销售经理" in list(query2("demo","select t_role.role_name from t_role,rt_roleuser where t_role.role_id=rt_roleuser.role_id and rt_roleuser.user_id=?",var(sys,sys_UserID))),"销售管理","销售人员")

示例中包含了if表达式、list函数、query2函数、var函数。其中var函数为变量的调用函数,var(domain,arg)。

var:函数名

domain:变量所属的域,系统变量为sys。全局变量为:global。

arg:变量名。

脚本
脚本的定义时最后一个必须为$result,脚本的结果,一个脚本中可以定义多个变量,后面的变量可以引用前面定义的变量的结果。编辑好脚本后可以查看对应脚本的表达式。

示例:

$rolequery = query2("mis2datasource","select t_role.role_name from t_role, rt_roleuser where
 t_role.roleid = rt_roleuser.role id and rt_roleuser.user_id=?",@{sys.sys_UserID});
$cndsalesmgr="销售经理" in list($rolequery);
$nonsalesmgr=if ("销售" in list($rolequery), "销售代表", "其他");
$result = if($cndsalesmgr, "销售经理", $nonsalesmgr);

变量的引用

系统变量和全局变量都可以在报表的参数或单元格表达式中进行引用。引用方式如下:

普通参数:@{domain.arg}。

示例1:引用系统变量用户ID的值:@{sys.sys_UserID}

示例2:引用全局变量role的值:@{global.role}

报表单元格和动态参数:var(domain,arg)

示例1:引用系统变量用户ID的值:var(sys,sys_UserID)

示例2:引用全局变量role的值:var(global,role)

抱歉!评论已关闭.