Hi there all - Hope everyone is ok.
I'm new to PowerApps but trying to pick it up as quick as possible.
In the app I'm creating, I'm using a Sharepoint list as the data source and destination of data writeback when submission is made form the app.
However as part of that process, for every entry that is submitted via the app to the SP List, I use the SP ID column as the entry's unique reference.
There is a process we have by which users should be able to submit amendments to the entry's made previously, but without changing any of the data deposited in the first submission. The way I've got around this is by having a combo box field that is visible depending on the selected option in field 1 (New Submission or Amendment). If the user picks amendment, an additional field called 'Amended Reference Number' appears.
This is where my issues begin -
The selectable options in the Amendment Reference Number Combo Box field, I want to automatically reference back to the ID column in SP. This is so that the user can select their previous submission ID. Then anyone reviewing the data for audit or any other purpose would know that the entry made was an amendment to previous entry ID#65. Once the user clicks submit, although the Amended Reference Field in the PowerApp is displaying the ID column entries, it writes that data back the submit form data for that field to the SP column of Amended Reference # not the ID column in SP.
Is anyone able to help me with the right coding to use here as fr the life of me I can't find the answer... And I've sat through a number of Shane Young's videos on YouTube (They are great) but have not been able to find an answer.
@Deano12 this is a little hard to visualise, can you share some code & maybe screenshots to help? Also, it sounds like you need a Patch() [create new SP item] as well as a UpdateIf() OR Patch() [update an existing SP item]. Are you doing both?
As I said code & screenshots would help us help you
Hi there - Thank you for your reply,
Here are some screenshots of the app as it stands today:
I hope you are able to see where I'm going with this - I need the Amended reference field to only search the Entry # field that is shown on the detail screen, as they shouldn't be able to make up a number if they are referencing a previous entry?
The current code in the Amending entry field is:
I'm not sure what the formula is for it to reference a different field even though then the user submits the form, it needs to patch the data back into an Amended Reference column on Sharepoint.
Here are the columns from SharePoint:
Hope this helps
@Deano12 It sounds like when someone makes an amendment they are 'Editing an item' in SP, is this correct? If so, you are probably best adding an EDIT icon on your DOB Entry screen, similar to the screens used if you let PA make a basic app for you.
the standard 'create an app' setup has these screens:
Browse Gallery --> Display Form --> Edit/New Form
The equivalent screens in your app are:
Previous Entries --> DOB Entry --> DOB Data Entry
so you'd just follow the standard app design / code but add in the edit function. This way, the person making an amendment would be editing the correct ID.
This would only do one at a time but you mention a combobox so maybe you want to amendment more than one item each time? If that was the case you would need to add a bit more functionality whereby you add each item (picked using the combo box IDs) to a collection then when done the collection- not the form - is patched back to SP. It's a little involved but doable.
hope this helps - let me know if I've understood your situation correctly as well, I could be totally off?
Hello again. And once again, thank you for your reply.
In a normal situation, you would be correct and I've already presented that option to the stakeholders for this solution. However, the paper-based document that this is to replace comes with some compliance restrictions behind it.
What I am replacing is a Daily Occurrence Book. Users fill in one row of the document and move on.
However, whatever entry they add needs to stay there without change. If they were to make a mistake or update a situation, a new line needs to be added with a reference back to the original entry on the document. This is so that an auditor/manager can look back and see what was first recorded compared to what is now being stated as fact.
It's the new entry relating back to the old entry that I struggling to digitize. I need the Amending Previous Entry Number field on the app to show the exact Entry numbers that have been submitted so far so that they can not put in a random number and it not mean anything while submitting that information back to the SharePoint document in another column. This means that when someone looks at the recorded data, they can see that the entry is related to Entry ID # 1 for example, rather than actually changing Entry # 1.
I hope this helps explain the desired function of the app a little more.
I've been playing some more and managed to get the drop down populated by the Entry #'s logged before it, however, when I try to submit the data, I get an error that the data is invalid for input. yet the SharePoint column that it should be pushing it back to is a Single Line of Text column type?
The code so far on the EditForm is:
The section names for that particular part of the form are:
To be honest - After I'm able to crack this step, the next step is to filter the Gallery and all 'Referencing' fields, based on a separate SP List that states.
User, Jack belongs to Site Code S1, therefore all data to be displayed for selection/view should only be S1 data. I'm not looking forward to that bit, as I've not used the User.() function before.
But first I need to get over the Amended Entry Number problem first.
Sounds to me like you are nearly there. Try changing the SP column's type to a number. I did something similar recently and that's how I set it up and it's working fine.
You will need to refresh your datasource inside your app and changing the type may not adjust the relevant DataCard type, not sure? PAs may be smart enough to correct this for you though?
For the User() I use something similar in an app of mine where I get the users FullName and Email and send data to a SP list for Login/Logout dates & times. The code on my Login button includes :
(Note: to make this work get the Office365Users connector)
Set(varLoggedInUser, User() ) ;
Then using the above variable I get Full Name and Email via:
You can then use these throughout your app as needed.
Sorry, I was talking about adjusting the Amended Reference column type. Yes you are correct, you cannot adjust the type of the ID column. I've assumed the Amended Reference column stores the ID from the original item only, is that correct?
Fill out a quick form to claim your user group badge now!
Find out where you can attend!
Features releasing from October 2019 through March 2020
Learn how to build the business apps that you need.