I recently ran into this error on a client’s system when users logged into the SalesLogix client and navigated to a recently updated page. The administrator did not encounter the same issue when navigating to the same page. Since I knew no log-in specific customizations were in play, I knew it had to be an issue beyond the web site. The SalesLogix provider acts differently for users than it does for the admin. Specifically when a user connects through the provider the provider adds on record level and field level security. Knowing this I figured that the field level security was messed up.
When you install a new database field into an existing table through a SalesLogix bundle, SalesLogix does not always correctly update the field level security information of the table to include the new field. This results in a mismatch between the number of fields the system sees in the database versus the number of fields the system detects for field security. This mismatch was the root cause of the specific error mentioned in this post title. Now it is very easy to fix the mismatch of database and field level security.
To fix the mismatch simply log into the SalesLogix Administrator as admin. Go to Manage…Field Level Security. When the Manage dialog comes up you just need to click the OK button. When this is clicked the Field Level Security information is re-written using the current database level definitions. You do not even need to actually modify a field level profile. Of course, it is a good idea to ensure that the new fields have the proper field level security levels inside each security profile.
I always recommend that after installing a bundle the database changes you open and close the Manage Field Level Security dialog to avoid these kinds of problems.