The setup:
A multi-screen app (the original form had 177 fields in it, so we had to split it up for performance reasons)
A sidebar with tabs control that allows users to jump between screens (all of the examples I have seen online have a "next" and "previous" button, but I want to avoid this if possible be cause there are 17 screens and I want users to be able to come in, select a draft, edit details on one screen and leave without having to visit all 17 screens.
Dataverse table is updated using Patch('Table',var_fromitem,Form1.Updates,Form1.Updates, etc)
The problem:
If you don't visit a screen, the controls on that screen update the datasource with null values. I noticed it because I have a notification that alerts if required fields are missing and tells you which screen they're on. All I have to do is navigate to that screen(s) and then when I try submit again, it works.
Replicating the issue:
I'm pretty sure you could do this with 2 screens with a save button on screen one, some required fields on screen two and some way to navigate between the two. Split a form between the two, submit it, reload the record and try to submit again without visiting screen two. Do you get the same problem?
Just FYI, when it was all one form and I was doing SubmitForm() everything worked perfectly. If I visit every screen it works perfectly. The only thing that seems to mess it up is if I don't visit a screen.
Thanks for any suggestions you might have