I'm patching records from a gallery(TempFacilitiesCol) to a list in SharePoint, but I need to populate a multiple people field (SupportTeams) where the values are in another table (UserGroups).
This table has a Title field and a multi people field (UserList). I need to find the record in the title field that matches my field in the gallery (lblSupportTeamGroup.text) get the users from the UserList and populate the same users in my patch list (NewHire Requests) in the SupportTeams field. See attached the NewHire Requests, I manually populated the SupportTeam but need to automate it with the patch function at the same time I'm creating the record.
I think I need to do another forall statement to get the users but then do I need a Lookup to find the group users, or a filter?
Thanks
Here is my patch
ForAll(TempFacilitiesCol,
Patch('NewHire Requests',Defaults('NewHire Requests'),
{
Title:ThisRecord.Title,
NewHireID:VarNewHireSandboxID,
RequestStatus:{Value:"Pending"},
SupportTeamsGroup:lblSupportTeamGroup.Text,
SupportTeams: ?????????????
}
))
To start, your formula has the ForAll backward. You are trying to use it like a ForLoop in some development language - which PowerApps is not. It is a function that returns a table of records based on your iteration table and record schema.
It is more efficient to use the function as intended and will provide better performance.
Based on what you have said about your other list, then your formula should be the following:
Patch('NewHire Requests'
ForAll(TempFacilitiesCol,
{
Title: Title,
NewHireID: VarNewHireSandboxID,
RequestStatus: {Value:"Pending"},
SupportTeamsGroup:lblSupportTeamGroup.Text,
SupportTeams: LookUp(UserGroups, Title=lblSupprtTeamGroup.Text, SupportTeams)
}
)
)
I hope this is helpful for you.