一个实用的东东
由于公司项目很多,人员也多,项目组也多
在选择用户组、所有者时会有好长一个列表,找起用户组与成员都很麻烦
我用下列方式进行了处理,一切变得好多了
设计想法如下:
在缺陷表单中增加一个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 编辑 ]
搜索更多相关主题的帖子:
东东