在ClaimCenter中,我尝试过滤下拉列表,仅显示具有特定角色的用户。我正在使用用户输入单元格。仅用户输入单元格值没有值范围。该值设置为他们选择的用户,因此它现在显示系统中的所有用户,而不仅仅是具有我想要的角色的用户。有没有办法只显示具有“调整”角色的用户。我在这个单元格上看不到过滤器选项。
右键单击元素并选择“更改元素类型”
然后选择“范围输入”。然后在ValueRange属性中添加对您编写的代码的调用。应该找到要在下拉列表中显示的用户子集并将其作为List或User []返回的代码,这样的事情可能会起作用
function myValueRangeFunction(pClaim: Claim) : User[] {
//gets the group from the DB by public ID
var adjusterGroup = Group ("cc:123");
var adjustersOnly = new Set<User>();
var groupUsers = adjusterGroup.MembersNoSystemUsers
adjustersOnly.addAll(groupUsers*.Users)
return adjustersOnly.toArray()
}
您需要将输入类型更改为Range Input(或条件单元格,以防您使用列表视图),其中valueRange属性调用检索具有特定角色的用户的方法。
.pcf文件:
<RangeInput
editable="true"
id="userInput"
label=""Adjusters""
value="claim.AssignedUser"
valueRange="UserRoleUtil_Ext.Adjusters"
valueType="entity.User"/>
user role UT IL_ext.公司:
uses gw.api.database.Query
uses gw.api.database.Relop
class UserRoleUtil_Ext {
public static property get Adjusters() : User[] {
var adjusterRole = Query.make(Role).compare(Role#Name, Relop.Equals, "Adjuster").select().AtMostOneRow
// Alternatively, you can retrieve the Role by its public-id, e.g.:
// var roleRetrievedById = Query.make(Role).compare(Role#PublicID, Relop.Equals, "cc:1").select().AtMostOneRow
return adjusterRole.AllUsersArray
}
}