cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
rajkumar88
Level: Powered On

Need suggestion: Save office365users.directreports email to sharepoint list

Can anyone please let me know if I am doing anything wrong here? 

 

onselect : submitform(form1); update(assignedtodatacardvalue=office365usrs.directreports().email)

 

what I am trying to achieve is that, when a user submit a request, on submit button it should save all the data to sharepoint list as wellas it should get that user direct reportee "email address" or "displayname" and save it to a column (it can be single line of text column or "person or group" coumn type?) I would be happy if it can save it to "person or group" coulmn type

13 REPLIES 13
Community Support Team
Community Support Team

Re: Need suggestion: Save office365users.directreports email to sharepoint list

Hi @rajkumar88 ,

Do you want to save the current sign in user's Direct reports into a column in your SP list when the user submit a new request?

 

Based on the needs that you mentioned, I have made a test on my side, please take a try with the following workaround:

Firstly, you need to add a Person type column in your SP List, and enable "Allow Multiple Selections" option for this Person column.8.JPG

App's configuration as below:10.JPG

Set the OnSuccess property of the Edit form in your app to following:

Patch(
    '20190611_case8',
     EditForm1.LastSubmit,
     {
       DirectReports: ForAll(
                             Office365Users.DirectReports(User().Email),
                             {
                                 Claims:"i:0#.f|membership|" & Lower(Mail),
                                 DisplayName: DisplayName,
                                 Email: Mail,
                                 JobTitle:"",
                                 Department:"",
                                 Picture:""
                             }
                        )
     }
);
Back()

On your side, you should tpe:

Patch(
    'YourSPList',
     EditForm1.LastSubmit,
     {
       YourPersonColumn: ForAll(
                             Office365Users.DirectReports(User().Email),
                             {
                                 Claims:"i:0#.f|membership|" & Lower(Mail),
                                 DisplayName: DisplayName,
                                 Email: Mail,
                                 JobTitle:"",
                                 Department:"",
                                 Picture:""
                             }
                        )
     }
);
Back()

Note: The YourPersonColumn represents the Person column in your SP list, which has enabled the "Allow Multiple Selections" option. You need also to add Office 365 Users as data source into your app.

When the user submit a new request successfully, the Person column (allow multiple selections) in your SP list would also be updated with his direct reports.

 

Please take a try with above solution, then check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Highlighted
rajkumar88
Level: Powered On

Re: Need suggestion: Save office365users.directreports email to sharepoint list






thanks for your reply. I have three screens with three forms in it. each screen is connected and will be saved using patch at the end of the last screen. Last screen is only dispplay screen to show list of items that are filled by an user with an submit button.

 

Patch(EmployeePerformance,Defaults(EmployeePerformance),Form1_1.Updates,Form2_1.Updates,
{
ManagerStatus:{Value:"pending"}
}
);Navigate(EmpLandingScreen,ScreenTransition.None)

 

1. Do you want me to add your code to onsuccess of this button? or editform of previous screen?

2. I created a test form added your code to Onsucess of the "editform1". However I am gettign an error and not able to add "COlumn Name" to the code. I created a column similar to you and name it as "Manager". Instead of getting directreportees, here we are using "manager" as an AD property to get user manaer details. 

and "currentemail" variable is set at "onstart" property of the form set(currentuseremail,user().email)

 

Patch(
test,
EditForm1.LastSubmit,
{
Manager: ForAll(
Office365Users.Manager(currentuseremail),
{
Claims:"i:0#.f|membership|" & Lower(Mail),
DisplayName: DisplayName,
Email: Mail
}
)
}
);
Back()

 

Community Support Team
Community Support Team

Re: Need suggestion: Save office365users.directreports email to sharepoint list

Hi @rajkumar88 ,

Do you use Patch function to submit your multiple form data into your SP List as single one record?

 

If you use Patch function to submit your multiple form data into your SP List as single one record, please consider set the OnSelect property of the "Submit" button in your last screen to following:

 

Patch(
      EmployeePerformance,
      Defaults(EmployeePerformance),
      Form1_1.Updates,
      Form2_1.Updates,
      {
        ManagerStatus:{
                        Value:"pending"
                      },
        YourPersonColumn: ForAll(
                                   Office365Users.DirectReports(User().Email),
                                   {
                                     Claims:"i:0#.f|membership|" & Lower(Mail),
                                     DisplayName: DisplayName,
                                     Email: Mail,
                                     JobTitle:"",
                                     Department:"",
                                     Picture:""
                                   }
                           )
     }
);
Navigate(EmpLandingScreen,ScreenTransition.None)

Note: The PersonColumn represents the Person column in your SP list, which has enabled "Allow Multiple Selections" option.

 

In additon, for your second question, I think there is something wrong with your formula. The result the Office365Users.Manager(currentuseremail) formula returned is a record rather than a Table value, so you could not add it as first argument of the ForAll function.

On your side, you should modify your formula as below:

Patch(
      test,
      EditForm1.LastSubmit,
      {
        Manager: Table({
                         Claims:"i:0#.f|membership|" & Lower(Office365Users.Manager(currentuseremail).Mail),
                         DisplayName: Office365Users.Manager(currentuseremail).DisplayName,
                         Email: Office365Users.Manager(currentuseremail).Mail
                       })
      }
); Back()

Note: I assume that the Manager column is a Person column in your SP list, which has enabled the "Allow Multiple Selections" option.

Please take a try with above solution, then check if the issue is solved.

 

Best regards,

 

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
rajkumar88
Level: Powered On

Re: Need suggestion: Save office365users.directreports email to sharepoint list

Hi,

 

Thanks for your reply.

 

Yes, Manager is an "Person or group" column with "ALlow multiple selections" enabled.

 

I am able to add code, however I am not able to find "Manager" when I type it. The last screen that I am using is an review screen with "canvas" . below is the two screen shots from the last screen

2.PNG1.PNG

Community Support Team
Community Support Team

Re: Need suggestion: Save office365users.directreports email to sharepoint list

Hi @rajkumar88 ,

Could you please share more details about the error message within your formula?

 

Please consider put your mouse within the formula box or click the "App Checker" option, then show me the error message.

 

Based on the formula, I could not find any syntax error with it. Do you add a Manager column within your SP list during editing your current app? Do you refresh the SP List connection within your app after you add a new column in your SP List?

 

On your side, please consider Refresh your SP List manually within your app or remove the DP List connection from your app and re-create a new connection to your SP List, then try your formula again, check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
rajkumar88
Level: Powered On

Re: Need suggestion: Save office365users.directreports email to sharepoint list

Hi,

 

Yes, I have created this column after the creation of my app. and I did the refreh couple times already, but still no luck. SO you are saying that delete the data source and re-connect back? But I do that then all the fields will change right? Because I have almost 10 screens and I changed the datacardvalues with different text properties/checkboxes. So I don't want to loose my work. Please adivse. and here is the screen shot with error.

3.PNG

Community Support Team
Community Support Team

Re: Need suggestion: Save office365users.directreports email to sharepoint list

Hi @rajkumar88 ,

Currently, I could not come up with a better solution except removing the SP List connection and re-adding it again.

 

I also made a test on my side, if you remove the SP List connection from your app, and then re-add it again, the modification you added before would not be reset.

 

On your side, please consider remove the SP List connection from your app, then re-add it again, check if the issue is solved.

 

In additon, you could consider put your mouse within the formula box (mouse focus on the formula box), then you could see the detail error message and which function this issue is related to.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
rajkumar88
Level: Powered On

Re: Need suggestion: Save office365users.directreports email to sharepoint list

sory I am using wrong code. I chaged it to right as I need to capture user manager email filed not the direcreport.

 

Patch(
EmployeePerformance,
Defaults(EmployeePerformance),
Form1.Updates,
Form2.Updates,
Form3.Updates,
{
ManagerStatus:{
Value:"pending"
},
Manager:Table({
Claims:"i:0#.f|membership|" & Lower (Office365Users.Manager(User().Email).Mail),
DisplayName: Office365Users.Manager(User().Email).DisplayName,
Email: Office365Users.Manager(User().Email).Mail
}
)

}
);
Navigate(ManagerLandingscreen,ScreenTransition.None)

 

I am getting an error " Invalid argument type. expecting a table value, but of a different schema"

Community Support Team
Community Support Team

Re: Need suggestion: Save office365users.directreports email to sharepoint list

Hi @rajkumar88 ,

Based on the formula you provided, I think there is something wrong with it. Please modify your formula as below:

Patch(
      EmployeePerformance,
      Defaults(EmployeePerformance),
      Form1.Updates,
      Form2.Updates,
      Form3.Updates,
      {
         ManagerStatus:{
                        Value:"pending"
                       },
         Manager: Table({
                          Claims:"i:0#.f|membership|" & Lower (Office365Users.Manager(User().Email).Mail),
                          DisplayName: Office365Users.Manager(User().Email).DisplayName,
                          Email: Office365Users.Manager(User().Email).Mail,
JobTitle: "", /* please note that the JobTile property, Department property and Picture property could not be ignored within your formula */
Department: "",
Picture: "" }) } ); Navigate(ManagerLandingscreen,ScreenTransition.None)

Note: The JobTitle property, Department property and Picture property could not be ingnored within your formula.

 

Please take a try with above solution, then check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

Top Community Contributors for July 2019

Top Community Contributors for July 2019

Let's thank our top community contributors

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

FirstImage

Power Platform World Tour

Coming to a city near you

thirdimage

PowerApps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

FourthImage

Join PowerApps User Group!!

Connect, share, and learn with your peers year-round

FifthImage

Dynamics 365 and Power Platform April 2019 Release notes

Features releasing from April 2019 through September 2019!

Users Online
Currently online: 4 members 5,434 guests
Please welcome our newest community members: