I am using a SharePoint integrated form and have collected the selected record in a collection.
I am then modifying this record inside the collection via form and Patch functions.
At the end I wanted to patch the changes back to the datasource via:
- Patch(SharePointList,myCollection)
But I am countinuously getting the error: {VersionNumber}: The specified column is read-only and can't be modified...
I have tried to drop the version number via DropColumns function but then I get error for another field and another field and another field...
Please kindly support what is the issue... I think this should supposed to work since the columns in source and Collection are the same.. (i have a high number of columns though, around 70...)
Update: after I finished work, Microsoft Support got back to me and logged a defect in PowerApps that was later fixed. Surely I was'nt the only one experiencing this yesterday...
Details:
Hello ccuginotti,
I'd tried something similar, but yours worked much better, and I got a column name! Thanks!
Only problem is... it's telling me every single column name in the list (see attachment)
These are not read only columns, they're columns I created myself as "Person" columns. I actually re-created the whole list an hour ago in case it was a list issue. There are 9 "person" columns, and 1 "lookup" column. This is to ensure I'm under the 12 maximum advanced fields (adding created by, modified by, gets to 12).
Edit: Deleted all Person/Lookup except one, and it still errored. Then I realised it's happening to another list and another part of the app not updated in weeks. So I wonder if I've hit some kind of limit/restriction, or if there's a database issue in our region... logged with support.
Try adding the following code to the "on Error" field on the App (Select App from the Tree view on the left, then On Error from the properties on the right.)
Notify(
Concat(Errors(YourTableorList), Column&": "&Message),
NotificationType.Error
)
It then told me what the offending column was next time the error occurred.
Hope this helps someone else in the future.
Signed in just to say YES! Agreed. WHICH COLUMN!!! Such a dumb error. Suddenly this morning all my app versions goes back days are giving this error, when the app worked fine yesterday. I have no idea what's happening or how I can fix it.
This is a huge problem! Why isn't there a way to drop all read-only columns?
How about this, Microsoft: if read-only columns always cause errors when patching data to SharePoint, wouldn't it be logical to always remove read-only columns from patch requests? Why should the user have to specify every single modifiable column with ShowColumns() or every single read-only column with DropColumns()????
Isn't it obvious that the patch request should automatically drop all non-modifiable columns? What would be the harm in that? Don't give me an error! Just patch my data and make it work.
This is such a major annoyance with developing canvas apps that talk to SharePoint, it just seems like the solution is glaringly obvious. Or how about this, TELL ME WHICH COLUMN IS READ-ONLY!!!!! The error message "Network error when using Patch function: The specified column is read-only and can't be modified." is frustratingly incomplete. Seriously, just tell me which columns I have to drop and I'll drop them. As it stands, I've gone down the entire list of auto-suggested columns and can't seem to find the remaining read-only columns. So, my next option would be to forget using DropColumns() and switch to ShowColumns() but that's an even worse solution because of how many columns are in this list. I should not have to explicitly specify every single modifiable column or every single read-only column in order to patch some data. This is ridiculous!
@v-bofeng-msft is this still the only working solution in 2022? If all required fields need to be mentioned in the formula it's hard to maintain it.
Hi @Student2 :
Could you show me the data structure of myCollection?
Firstly,let me explain why you encounted this problem.
The point is {VersionNumber} is a standard read-only field in the sharepoint list. There are many such fields, such as:ID,Modified,Created……
Secondly,I suggest you filter out the required fields to update.
For example:
Patch(SharePointList,ShowColumns(myCollection,"Column1","Column2","Column3"))
Or
ForAll(
mycollection
Patch(SharePointList,Defaults(SharePointList),{Column1:Column1,Column2:Column2})
)
Best Regards,
Bof
MS.Ragavendar
32
Michael E. Gernaey
19
Super User 2025 Season 1
Rajkumar_M
16
Super User 2025 Season 1