I recently ran into a strange issue in the web client that turned out to have a logical explanation. This explanation however, demonstrates a bug with the standard SalesLogix behavior.
The issue lies in trying to Complete an Activity or edit an existing history record when logged into the SalesLogix web client as a web viewer user. The web client will freeze when trying to complete an activity linked to an Account or Contact.
The web viewer license type in SalesLogix offers a low cost way of accessing the SalesLogix web client. It is limited in what can be done, specifically it is read-only with the supposed exception of being able to schedule activities and complete activities, and insert notes and history.
The problem with this concept is that the standard SalesLogix Activity entity model (which comprises the History entity also) contains two events:
Both of these events or compiled into the Sage.SalesLogix.Activity.dll assembly. If we look at these events in Reflector we can see both events call a routine called UpdateAccountLastHistory. The OnBeforeUpdate method also has a routine called UpdateContactLastHistory.
What both of these methods attempt to do is update the Account and Contact tables and populate a field called LastHistoryDate with the date of the History. Therein lies the problem. The web viewer license can not update the Account or Contact tables because of their limitied read-only intent of these areas.
This is a problem that Sage should be able to fix rather easily by checking to see what type of user is creating/updating the History and doing some branching logic for web viewers.
This issue is present in 7.5.2 HF3.