这一段时间,一个信箱名为ql98j1的网友,还有其他的一些朋友,问了我一些关于ClearQuest的问题。我想其中的一些,大家可能也会遇到。于是综合一些平时我遇到的问题,写了这个问题集锦。问题的回答未必正确,但我想至少会给大家提供一个思路,希望能给其他的人一些帮助。
我使用的是2002.05.00版本,如果是2003版的问题,我会说明。
问题一:给某些字段设置使用权限,只有相关人员才能看到某些字段而进行填写,对于一般人员使它变为不见,我该如何设置呢?
解答提示:一个比较简单的方法可以让别人看不到你设置的字段:设置一个新的组,把想看新字段的人加到这个组中,在Designer中,设置Forms的时候,加一个Tab页,把只想让一部分人看到的字段都加到这个页中,鼠标右击这个字段,在属性页中,有“User Group Access”这个选择,选择你想要看的组加到列表中就可以了。在使用的过程中,只有相关的组成员才能看到这个tab页,也就间接的等于别人看不到这些字段了。
问题二:在Web端访问的时候,只能看到提示“Restricted Query Not Defined”。
解答:一般是因为没有注册的缘故,使用CQ的过程中,必须对Web服务器进行License注册。
问题三:如何让一些Database不显示在客户端和Web端的使用列表中。
解答:在使用CQ的过程中,必须选择Database才可以进入客户端或Web端。而Database的内容,与选择的Schema Repository(s)有关,下面就是如何让部分Database不显示在列表中。
在Designer中,选择菜单中的Database->Update User Database Properties…,选择不需要显示的Logical Database Name,点击“Properties”按钮,进入配置页面。在配置页面中,把“Production Database”选择为“Test Database”,点击“Update”,则此Database将不会显示在列表中。如果将来想要恢复,只要把“Test Database”再选择成“Production Database”即可。
问题四:在project的Forms下,我为项目经理设计了一个下拉列表框,请问:如何将users下面的field:login_name、fullname下面的记录值自动在这个下拉列表框里显示。格式就是:login_name(fullname)。
解答提示:这个我并不清楚你要做什么,是在下拉框中显示所有用户的登陆名和全称,还是显示一个组的,或者是显示当前登陆用户的?
①如果显示当前用户的 ,则比较的简单。直接login_name=session.GetUserLoginName,full_name=login_name.fullname,把login_name和full_name拼成一个字符串显示出来就可以了。
②如果是在组中的,你可以查看安装目录ClearQuest\apihelp\index.htm中Session Object,User Object,Group Object,Groups Object几章。我的想法是:在field的Choice List中,使用程序进行列表内容的控制,建立一个session,使用session.GetUserGroups取到用户组,再for each user in 用户组,在里面choices.additem(user),但是我试验了一个上午,不知道什么原因,一直都没有成功过,你不妨再仔细的看看Rational ClearQuest API Reference里面的东西吧。如果能解决,最好告诉我解决的办法,我也学习学习。
问题五:对于特定的字段,强制要求用户每次Action的时候,都必须填写。
解答提示:在字段的Permission中,用下面的代码控制:
SetFieldValue Field1,"" '把字段的值设置为空
Field_Permission=AD_MANDATORY '让字段必填
在Behaviors中把需要必填的字段状态设置成Hook就可以了。