cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Post Patron
Post Patron

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 III
Super User III

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 III
Super User III

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

Post Patron
Post Patron

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
Community Conference

Power Platform Community Conference

Find your favorite faces from the community presenting at the Power Platform Community Conference!

Watch Now

Experience what’s next for Power Apps

See the latest Power Apps innovations, updates, and demos from the Microsoft Business Applications Launch Event.

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Top Kudoed Authors
Users online (7,305)