加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂
 
发新话题
打印

[推荐] 一个实用的东东( 此文章被查看:1066次,被回复:2篇!! )

一个实用的东东

由于公司项目很多,人员也多,项目组也多
在选择用户组、所有者时会有好长一个列表,找起用户组与成员都很麻烦
我用下列方式进行了处理,一切变得好多了
设计想法如下:
在缺陷表单中增加一个group,group中的值通过登录用户所属的组进行取值,这样就不会出现所有的组。
在owner字段取值通过group来完成,选定一个组则显示该组的成员,就不会出现所有成员列表。
设计实现如下:
在defect中增加一个字段
group 类型为reference 指向 记录类型“groups"
在改变值处增加脚本
SetFieldValue "owner", ""
用来清空owner,避免出现数据重复。
在选项列表处增加脚本
Dim sessobj
   Dim userGroups

   Set sessObj = GetSession

   userGroups = sessObj.GetUserGroups

   for each userGroup in userGroups
   choices.AddItem userGroup
   Next
用来通过登录用户判断,登录用户属的组,取出该组的名称,放入group字段
在defect的owner字段的选项列表处增加脚本
Dim groupName
        Dim sessionObj
        Dim queryObj
        Dim filterObj
        Dim resultSetObj
        
        groupName = GetFieldValue("zhu").GetValue()
        
        Set sessionObj = GetSession()
        ' start building a query of the users
        Set queryObj = sessionObj.BuildQuery("users")
        ' have the query return the desired field of the user object(s)
        queryObj.BuildField ("login_name")
        
        ' filter for members of group groupName (whatever group you want)
        Set filterObj = queryObj.BuildFilterOperator(AD_BOOL_OP_AND)
        filterObj.BuildFilter "groups", AD_COMP_OP_EQ, groupName
        Set resultSetObj = sessionObj.BuildResultSet(queryObj)
        
        ' run it
        resultSetObj.Execute
        
        Do While resultSetObj.MoveNext = AD_SUCCESS
             choices.AddItem resultSetObj.GetColumnValue(1)
        Loop
        choices.Sort
用来进行与用户组的联系,选定用户组取其组内成员

[ 本帖最后由 轻扬婉儿 于 2007-1-16 17:13 编辑 ]



© 本文为 轻扬婉儿SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

楼主,我用这种方法在cq client端可以正常实现功能。也添加了group的web相关字段。用web方式访问,在submit时功能也正常,可是提交后更改状态如open,此时再次更改group,owner不会置空,也不会出现新组的成员。我还需要做什么设置才行啊?



© 本文为 kafei_douSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

呵呵,知道为什么拉~我有两个form,提交和提交后,提交后的那个form我没有做关联。呵呵~~~



© 本文为 kafei_douSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

发新话题