cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
BrianHFASPS
Level 8

Unreliable User() check?

I have a checkbox that I want to activate and hide based upon who is using the app. It works in testing but doesn't seem to be reliable in production. Here is the code I have:

Default - If(User().Email = "User@fasps.org",true,false)
Visible - If(User().Email = "User@fasps.org",false,true)

The Visible piece seems to always work but the Default sometimes seems to be correct initially and then switches. I see the app react to it being one way and then flip. I can't reliably reproduce. So I am wondering if there is something I am missing or to check on why this isn't reliable.

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Super User
Super User

Re: Unreliable User() check?

@BrianHFASPS 

The User() function does sometimes have a lag to it.

It is generally good practice to put any functions like that on the OnStart of the App.  Since the information will not change in the App, there is no need to constantly call the function.

So, in your OnStart, set a variable with this formula:

   Set(glbUserInfo, User())

 

Then on your checkbox, use the formula as such:

   Visible :   !(glbUserInfo.Email = "User@fasps.org")

   Default:  !checkBox.Visible

 

A couple of little things here - 1) the Visible property will be set to the NOT (!) of the true or false that is determined by the email check.  Although you can write out the formula with the If statement, you can shortcut it.

2) Rather than doing the check again in the default, here we just set the Default based on the formula results of the Visible property (and in this case, the Not(!) of that - according to your original formulas).

 

I hope this helps you some.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.

View solution in original post

2 REPLIES 2
Highlighted
Super User
Super User

Re: Unreliable User() check?

@BrianHFASPS 

The User() function does sometimes have a lag to it.

It is generally good practice to put any functions like that on the OnStart of the App.  Since the information will not change in the App, there is no need to constantly call the function.

So, in your OnStart, set a variable with this formula:

   Set(glbUserInfo, User())

 

Then on your checkbox, use the formula as such:

   Visible :   !(glbUserInfo.Email = "User@fasps.org")

   Default:  !checkBox.Visible

 

A couple of little things here - 1) the Visible property will be set to the NOT (!) of the true or false that is determined by the email check.  Although you can write out the formula with the If statement, you can shortcut it.

2) Rather than doing the check again in the default, here we just set the Default based on the formula results of the Visible property (and in this case, the Not(!) of that - according to your original formulas).

 

I hope this helps you some.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.

View solution in original post

BrianHFASPS
Level 8

Re: Unreliable User() check?

Thanks for the options and ideas. The logic of only checking user on start makes perfect sense, it doesn't change in a session. I have updated my code and will test.

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

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

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

Top Kudoed Authors
Users Online
Currently online: 206 members 5,342 guests
Please welcome our newest community members: