I don't think you can traverse 2 nested lists for the user and all of their job roles. There is a ProjectUserRole object that you can use to see who is assigned to each role in the project. So if a user is assigned to one of their secondary roles it should appear. So there are 3 related collections: ProjectUsers - The team on the projects Roles - The roles that are on the project ProjectUserRole - The users assigned to roles on the project Unassigned roles are not in the ProjectUserRole list. If a user is assigned without a previous role their primary role is put on the list. Here's an example of a shared column that traverses several of the objects:
Looks to see if role is on a project and who is filling the role, replace Copywriter with the name of the role. Blank is not on the project, Yes means it's on the project. Yes blank is unassigned, Yes name is assigned.
column.3.valueexpression=IF(CONTAINS("Copywriter",{name}),"Yes ","")
column.3.type=iterate
column.3.listmethod=nested(roles).lists
column.3.sharecol=true
column.3.listdelimiter=& z w j ;
column.3.textmode=true
column.3.valueformat=HTML
column.3.displayname=Copywriter
column.4.valueformat=HTML
column.4.displayname=Spacer
column.4.textmode=true
column.4.width=1
column.4.sharecol=true
column.4.valuefield=< b r >
column.5.valueformat=HTML
column.5.type=iterate
column.5.listmethod=nested(projectUserRoles).lists
column.5.listdelimiter=& z w j ;
column.5.textmode=true
column.5.valueexpression=IF(CONTAINS("Copywriter",{role}.{name}),CONCAT({user}.{name}," ")) Spaces added to < b r > and & z w j ; to prevent them being encoded. Remove spaces if copying. -- Melinda Layten, Senior Consultant Work Management Improvement CapabilitySource Phone: (484) 505-6855 site:
www.capabilitysource.com email: melinda.layten@capabilitysource.com - we simplify your work so you can run your business -