变量的定义-变量管理
目录

变量的定义

在资源中心变量管理目录下,可以通过新增资源创建新变量。

定义一个变量需设置的属性包括:变量ID、变量值类型、变量计算时间、变量值计算脚本/表达式。如下图:

设置完成后,点击保存即可将新建的变量保存为资源,如下图:

下面详细说明变量定义的各项属性设置。

变量ID

每个变量的唯一标识,不允许重复,变量的调用是通过唯一的变量ID来实现。

变量ID需要遵循命名规范:不能包含特殊字符,由英文字母、数字和下划线组成。

变量值类型

根据变量值的计算方式,包括以下几种类型:

变量计算时间

设置变量的计算时间:系统启动时计算、用户登录时计算、引用时计算三种。

可以根据实际业务场景的需要,设置变量计算时间。例如系统全局使用的共享变量,则可以设置为启动时运算;与用户身份信息相关的变量,则可以设置为登录时计算。

变量只有经过计算后,才能将变量值保存在系统中,以供引用。 

变量值计算脚本/表达式

变量值计算表达式的设置,需要与变量类型对应:

变量值计算表达式设置

变量类型为“表达式”时,可以直接使用表达式实现动态的变量值计算:

示例:

if("销售经理" in list(query2("mis2datasource","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函数调用了系统变量sys_UserID。

函数var( stringExp )说明

该函数用于在变量值计算表达式中调用其他变量。

参数说明:

返回值:变量的值

变量值计算脚本设置

变量类型为“表达式”时,变量值计算表达式还支持使用脚本。

脚本是表达式的一种,增强了表达式的设置,能够让变量值的计算方式更加灵活,并且具有更易读的写法。

脚本语句

脚本语句是脚本的基本单位,其语法如下:

$内部变量名 = 表达式;

例如下面的脚本语句,表示将等号右侧表达式的计算结果赋值给等号左侧的内部变量rolequery :

$rolequery = query2("mis2datasource","select role_id from rt_roleuser where user_id=?",var(sys_UserID));

注意:

注释

在脚本中还可以添加注释语句。

注释语句以符号//开头,不需要以分号结尾,且不允许换行。

示例:

//本脚本生成人员的类型

脚本的执行

变量值计算脚本中可以书写多条脚本语句,其书写与执行规则如下:

例如,一个包含多条语句的变量值计算脚本,其整体结构如下所示:

$内部变量1=表达式1;
$内部变量2=表达式2;
...
$result=表达式n;

脚本示例

以下提供了一段完整的脚本示例:

$rolequery = query2("mis2datasource","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_UserID));
$cndsalesmgr="销售经理" in list($rolequery);
$nonsalesmgr=if ("销售" in list($rolequery), "销售代表", "其他");
//返回变量值计算结果:$result = if($cndsalesmgr, "销售经理", $nonsalesmgr);