Случалось ли Вам сталкиваться с задачей, когда необходимо  в MS CRM переопределить событие OnSave так, чтобы оно не работало как сохранение :) Или же производило некоторые действия и только после этого – сохранение. Например, сделаем вот что:

Вставим в событие OnSave сущности incident (Обращение) следующий javascript-код :

event.returnValue = false;

Этот код прекращает выполнение события OnSave. После того, как Вы включили событие OnSave, сохранили этот код и опубликовали изменения, можете жать сколько угодно на кнопки «Save» и «Save and Close», не произойдет ровным счетом ничего :) И даже окно не закроется при нажатии на «Save and Close».

Теперь для чего это нужно. Приведу теоретический пример:  допустим, когда Вы ввели данные на форму, Вам нужно по нажатию на «Save» провести проверку введенных данных. Если данные удовлетворяют условиям, сохранение происходит, иначе – окно с ошибкой и «откат» сохранения.  Тут следует использовать if. И в ветке, которая отвечает за действия, когда условие не выполнено, вставить код остановки события Save.

Вот такой пример применения, этот метод работает и в MS CRM 4.0, и так же в MS CRM 3.0.