web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :
Power Apps - Power Query
Suggested answer

SharePoint Integration custom form caching issue

(0) ShareShare
ReportReport
Posted on by
I have a SharePoint list with over 70 columns and two roles defined on the site: Submitter and Approver. To simplify, I split the columns into two separate forms displayed on different screens based on roles. In the SharePoint integration’s onEdit property, I’ve implemented logic to determine which form should be in edit mode based on the status field, and it navigates to the corresponding screen.
However, I’m encountering a caching issue. On the first edit attempt, the function in the onEdit property does not execute as expected and redirects to the last opened screen instead but form data is appropriate. On the second edit attempt of the same item, the code runs correctly, and it navigates to the proper screen.
Is there any resolution for this issue?

OnEdit of sharepoint integration implemented formula:
If(SharePointIntegration.Selected.Stage.Value="First",EditForm(FormFirst);Navigate(screenFirstForm),EditForm(FormSecond);Navigate(screenSecondForm)
Categories:
I have the same question (0)
  • Suggested answer
    SaiRT14 Profile Picture
    1,988 Super User 2025 Season 2 on at
    SharePoint Integration custom form caching issue
     
    The behavior you're encountering in Power Apps is likely due to caching or timing issues in the SharePointIntegration context when determining which screen to navigate to during the first edit attempt. 
     
    Force a Refresh on the SharePointIntegration Context 
    Refresh('YourSharePointList'); // Replace with your actual list name
    If(
        SharePointIntegration.Selected.Stage.Value = "First",
        EditForm(FormFirst);
        Navigate(screenFirstForm),
        EditForm(FormSecond);
        Navigate(screenSecondForm)
    )
     
    Use a Timer for Delayed Execution
    Modify the OnEdit formula to start the timer - Set(NavigateToForm, SharePointIntegration.Selected.Stage.Value);
    Timer1.Start();
     
    OnTimerEnd property, add the navigation logic - If(
        NavigateToForm = "First",
        EditForm(FormFirst);
        Navigate(screenFirstForm),
        EditForm(FormSecond);
        Navigate(screenSecondForm)
    );
     
    In the OnStart property of the app, Set(Preload, false);
    Navigate(screenFirstForm);
    Navigate(screenSecondForm);
    Navigate(DefaultScreen); // Replace with your default screen
     
     
    Pls try and let me know if you have issues.
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

MS.Ragavendar – Community Spotlight

We are honored to recognize Ragavendar Swaminatha Subramanian as our September…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 973 Most Valuable Professional

#2
MS.Ragavendar Profile Picture

MS.Ragavendar 366 Super User 2025 Season 2

#3
Power Apps 1919 Profile Picture

Power Apps 1919 343

Last 30 days Overall leaderboard

Featured topics