bsd3000 发表于 2006-4-6 17:15:12

在ClearQuest中,用哪个函数可以取到当前登录用户的所属组的值?

在ClearQuest中, 用户一般都会属于某个组,脚本中使用下面的语句可以取到当前登录用户的名称,则如果想取到当前用户所属组的值,应该使用哪个函数呢?这些相关的函数有没有哪个地方可以查得到?谢谢!
DIM session
set session=GetSession
username=session.GetUserFullName

luming 发表于 2006-4-7 08:53:40

在菜单中,有Rational ClearQuest APIReference,可以查到CQ的函数。
User.Groups就能取到组名了。

bsd3000 发表于 2006-4-7 11:28:34

谢谢luming!
用GetUserGroups确实可以取到当前用户的所属组,

我在ClearQuest APIReference看到,这个函数的返回值是:
For Visual Basic, a Variant containing an array String of Variants is returned.

用户如果都只属于一个组,在脚本中是不是可以定义下面这样一个数组变量,把函数的返回值赋给它,然后在if语句中用usergroups(0)来获得组名?可是在实际使用时提示类型不匹配。
DIM usergroups(0)
usergroups=session.GetUserGroups

luming 发表于 2006-4-7 11:35:07

array感觉在cq中无法用下标操作,所有的都需要循环实现。
你可以看看下面的内容参考一下。
http://dev.csdn.net/article/70/70818.shtm

bsd3000 发表于 2006-4-7 14:07:32

多谢!
我在脚本中使用以下语句,当用户属于管理组时把组名赋给一个变量,然后根据这个变量值结合其它条件判断能否执行所选Action,但实际使用时仍然提示错误,“缺少对象”。   
    DIM session
    set session=GetSession
    username=session.GetUserLoginName
    set grouplist=session.GetUserGroups
    set numGroups = groupList.Count
    Dim groupname
    For x = 0 to numGroups-1
          set groupObj= groupList.Item(x)
          If groupobj.Name="管理组" Then
               groupname = groupObj.Name
          End if
   Next

bsd3000 发表于 2006-4-10 13:45:27

有人知道应该怎样修改脚本才可以吗?

luming 发表于 2006-4-10 14:15:27

你可以试着列举管理组人员,判断当前用户是否在人员列表中,效果是一样的。

bsd3000 发表于 2006-4-10 15:27:20

谢谢luming!改为列举管理组人员,可以实现了。

xiongxxy 发表于 2006-6-7 21:52:26

我也遇到这种情况。能否给出新代码!

我也遇到这种情况。能否给出新代码!

mastertester 发表于 2006-8-11 11:50:58

bsd3000 请教

bsd3000 你的CQ编程研究的怎么样了?请教一个问题:我想实现根据项目名称字段的值不同,模块名称下拉框中的内容变化这一功能。能否指教~

谁有API函数能否提供一下,我这个版本看不到函数内容。
页: [1]
查看完整版本: 在ClearQuest中,用哪个函数可以取到当前登录用户的所属组的值?