Hi all,
I have a Project Management app, where I would like to use People Picker field for "Project Lead" instead of text string, which we have used before.
What I have is the persons Name(text string) and E-mail address(text string). Now I want to populate a People Picker field using the Name or E-mail.
I am trying to use this code, but I get some error messages when trying:
UpdateIf(Projektlista; Projektfas.Value="05 Driva";
{
Projektledare: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";
Department: "";
Claims: "i:0#.f|membership|" & 'E-mail';
DisplayName: DisplayName: Office365Users.UserProfileV2('E-mail').displayName;
Email: 'E-mail';
JobTitle: "";
Picture: ""
})
Can anyone help me out with this?
Solved! Go to Solution.
Is there a reason why you cannot use a ComboBox with the Items property set to ... ?
Choices([yourListName].yourPersonColumnName)
Then the UpdateIf would just need
...{ ComboBox1.Selected } ...
ie no need for all this code.
If not, then 2 possible issues I can see with your code are:
1. 'Email' in the Claims part should be in Lower case, eg
...
Claims: "i:0#.f|membership|" & lower('E-mail');
...
2. The DisplayName is probably better accessed via a variable, eg
Set(vDisplayName, Office365Users.UserProfileV2('E-mail').displayName);
UpdateIf(...
...
DisplayName: vDisplayName;
...
)
This Shane Young video may also help.
Sorry I made a mistake when copying the code to the post: It looks like this
UpdateIf(Projektlista; Projektfas.Value="05 Driva";
{
Projektledare: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";
Department: "";
Claims: "i:0#.f|membership|" & 'E-mail';
DisplayName: Office365Users.UserProfileV2('E-mail').displayName;
Email: 'E-mail';
JobTitle: "";
Picture: ""
})
Is there a reason why you cannot use a ComboBox with the Items property set to ... ?
Choices([yourListName].yourPersonColumnName)
Then the UpdateIf would just need
...{ ComboBox1.Selected } ...
ie no need for all this code.
If not, then 2 possible issues I can see with your code are:
1. 'Email' in the Claims part should be in Lower case, eg
...
Claims: "i:0#.f|membership|" & lower('E-mail');
...
2. The DisplayName is probably better accessed via a variable, eg
Set(vDisplayName, Office365Users.UserProfileV2('E-mail').displayName);
UpdateIf(...
...
DisplayName: vDisplayName;
...
)
This Shane Young video may also help.
Hi @Anonymous,
Thanks a lot for putting me on the right track, I just left the Displayname blank, and used lower on the E-mail address, and that did it!
Your suggestions and the Shane Young video did really give me insight.
I have been struggling with this for a while, so I am very glad that I finally could solve it. We have created a new SP list for our projects, where we will have more data stored thanks to PowerApps, and this update is a part of the conversion from the old SP list.
Again, thank you very much!
Best
Lennart
No worries mate, happy to have put you on the right path to a solution 🙂