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

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / SharePoint Integration...
Power Apps
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,990 Super User 2025 Season 2 on at
     
    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

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 739 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 343 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard