I have an issue where records are being locked while my reps are using them. The basic steps are like this:
- Navigate to Opportunity
- Contact information is pulled via an Action Layout Editor
- Rep clicks to dial (using the contact phone from Action Layout Editor)
- Task is logged automatically to the contact
- Trigger runs on Contact, updating the record
- Rep tries to edit info on Action Layout Editor
- Save fails due to the "rep" updating Contact (because of task)
- (Occasionally) Rep tries to edit Opp, gets same error message (I haven't diagnosed this exactly yet, but it does happen.
The exact error is:
The record was modified by [you] during your edit session. Make a note of the data you entered, then reload the record and enter your updates again.
Now, I am pretty sure the solution is to change/modify/remove the Action Layout Editor, since what I assume is happening is the record is loaded by the editor, which then becomes out of sync with the server when the task is logged. My thought is to build out a component that queries and then displays the fields in read only, but give an edit button that re-queries the record so they can edit it.
Which leads me to the general question... how do other orgs handle this issue? I have zero control over the CTI tool, so I cannot modify how that behaves. But how do you guys handle looking at an opportunity and getting the contact information to it in a way the CTI can interact with? I have tried a formula to pull the contact information to the opp. Formula fields do not work because the CTI does not read the field as a phone field.