Hello,
I have a multi-screen form made into an App to submit vendor data for new vendor creation.
The idea is, at the end of the App, upon hitting submit that a new record is created on SharePoint, containing the request data.
This has ran fine for over 300 instances with colleagues from 12+ countries/regions.
The "Submit" button has the following syntax:
Notify("Please wait - Do not refresh or click again",NotificationType.Information,2000);
Patch('202201 VMD Proper',
Defaults('202201 VMD Proper'),
'Opening Questions'.Updates,'Conflict Declaration'.Updates,'Company Code Form 1'.Updates,'Generic Vendor Data 1'.Updates,'Bank Data Input 1'.Updates,'Company Code Form 1_1'.Updates,'Registration Details'.Updates,'Purchasing Data 1'.Updates,'Secondary Attachments'.Updates);
Navigate('Closure Screen')
No other element anywhere contains a Patch or any other such command. This is the only instance.
However, every now and again, this action will result in the creation of multiple instances of the same data. This is completely random both in terms of when it happens as well as how many duplicates are produced. Sometimes it's 2 sometimes 1 and once it even produced 6! duplicates:

Things I have tried:
- Added the notification you see in the code above, to tell users not to spam-click
- Added a routine in the "Visible" property of the Submit Button to basically make it invisible for 3 seconds after each press to avoid double clicking.
And yet, this latest one with the 6 duplicates still occurred despite all the above and while I was (luckily) watching the process and no multi-clicking or anything else happened.
Now, the incidence is very rare (2-3%) so a simple cloud flow to identify and quarantine duplicates limits any operational fallout. But the problem is still there and I can't find an easy way to replicate or troubleshoot. Only to mitigate its effects - which was simple enough.
Any ideas?
P.S. Upon hitting Submit, users are taken to a closure screen with one button to EXIT() the app and one to Make Another Request. The syntax of the OnSelect of the New Request button is as follows (Basically a bunch of ResetForms and NewForms with a Navigate to start at the end):
ResetForm('Opening Questions');ResetForm('Conflict Declaration');ResetForm('Company Code Form 1');ResetForm('Generic Vendor Data 1');ResetForm('Bank Data Input 1');ResetForm('Company Code Form 1_1');ResetForm('Registration Details');ResetForm('Purchasing Data 1');ResetForm('Secondary Attachments');
NewForm('Opening Questions');NewForm('Generic Vendor Data 1');NewForm('Conflict Declaration');NewForm('Company Code Form 1');NewForm('Bank Data Input 1');NewForm('Company Code Form 1_1');NewForm('Registration Details');NewForm('Purchasing Data 1');NewForm('Secondary Attachments'); Navigate('Checklist 1', ScreenTransition.Fade)
There is nothing else that could possibly interfere with the submission/item creation.