05.03.2009Перехват события OnSave в MS CRM 4.0
Случалось ли Вам сталкиваться с задачей, когда необходимо в 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.
