Вы, безусловно, можете использовать событие OnSave javascript, чтобы сделать магию AJAX и найти нормализованную работу. Проблема этого подхода заключается в том, что если вы когда-либо импортируете контакты или создаете контакты из другого рабочего процесса или утилиты с помощью веб-сервисов, этот javascript, очевидно, не будет выполнен.
Ваша следующая опция - плагин или рабочий процесс. Лично я бы использовал здесь рабочий процесс, поскольку вполне возможно, что нормализованный заголовок задания будет обновляться асинхронно, и я считаю, что настраиваемые действия рабочего процесса немного легче программировать.
Вот ссылка, которая поможет вам создать настраиваемое действие рабочего процесса:
http://msdn.microsoft.com/en-us/library/cc151142.aspx
По сути, вы должны создать настраиваемое действие рабочего процесса, которое будет иметь одну строку ввода и одну строку вывода. Вход будет называться «Должность», а выход будет «Нормализованная должность». В методе Execute вы использовали бы веб-сервисы CRM, чтобы найти нормализованный заголовок задания на основе заголовка входного задания, а затем установить свойство вывода.
Вернувшись в CRM, вы создадите новый рабочий процесс, который запускается при создании или при изменении поля названия должности. В качестве первого шага вы добавите новую пользовательскую активность, указав в ней название должности контакта. Вторым шагом будет обычный шаг Обновления для Контакта, в котором для Нормализованного Названия Работы будет установлен вывод шага 1.
Надеюсь, это поможет!