This error comes when the column limit is exceeded in InfoPath form library because of the setting change happens when we take template from QA to PROD environments. Anyone should never use "Quick Publish" button on the ribbon of InfoPath in high risk environments and check every column mapped in Property Promotion window of publish wizard.
The following CSOM code can be used to delete the duplicate columns(which are read-only) created because of the above error,
ClientContext context = new ClientContext(sharePointSiteURL);
Site oSite = context.Site;
context.Load(oSite);
Web web = context.Web;
List doclist = web.Lists.GetByTitle("LibraryName");
context.Load(doclist);
context.ExecuteQuery();
FieldCollection fieldCollection = web.Lists.GetByTitle("LibraryName").Fields;
foreach (Field column in fieldCollection)
{
if (column.InternalName.Equals("ColumnName"))
{
column.ReadOnlyField = false;
column.Update();
column.DeleteObject();
column.Update();
context.ExecuteQuery();
}
}
The following links have more related information,
Hope this helps someone!
The following CSOM code can be used to delete the duplicate columns(which are read-only) created because of the above error,
ClientContext context = new ClientContext(sharePointSiteURL);
Site oSite = context.Site;
context.Load(oSite);
Web web = context.Web;
List doclist = web.Lists.GetByTitle("LibraryName");
context.Load(doclist);
context.ExecuteQuery();
FieldCollection fieldCollection = web.Lists.GetByTitle("LibraryName").Fields;
foreach (Field column in fieldCollection)
{
if (column.InternalName.Equals("ColumnName"))
{
column.ReadOnlyField = false;
column.Update();
column.DeleteObject();
column.Update();
context.ExecuteQuery();
}
}
The following links have more related information,
- http://sharepoint.stackexchange.com/questions/67549/can-not-delete-a-column-from-an-infopath-form-library/83209
- http://www.infopathdev.com/forums/p/15414/54639.aspx
- http://www.c-sharpcorner.com/UploadFile/anavijai/delete-the-field-from-the-list-in-sharepoint-2010-using-ecma/
Hope this helps someone!
Comments
Post a Comment