Recently i stumbled upon an edge case scenario where the logged in user that has access to the record was making a specific change to the record which in turn fired the elevated plugin which removed his access and threw this strange error:

Server Is Busy

The record was saved. However, the data could not be displayed because the server is busy…

server-busy

During my investigation, i had to come up with a way to remove this annoying error and take them back to the grid screen. Thankfully the Xrm.Page.data has a method save with the option to set callback functions to be executed after the save operation is completed.

Hooking onto these methods, i threw an alert and used the history.go method to return to the grid.

Notice the set_forceNavigationAway method, this is used to disable the the onbeforeunload message that CRM prompts saying you have unsaved changes to the form.