確かに、OnSave JavaScript イベントを使用して AJAX マジックを実行し、正規化されたジョブを検索できます。このアプローチの問題点は、連絡先をインポートしたり、Web サービスを使用して別のワークフローやユーティリティから連絡先を作成したりすると、明らかにその JavaScript が実行されないことです。
次のオプションは、プラグインまたはワークフローです。個人的には、正規化された役職が非同期で更新されても問題ないので、ここではワークフローを使用します。また、カスタム ワークフロー アクティビティの方がプログラミングが少し簡単であることがわかりました。
カスタム ワークフロー アクティビティの作成に役立つリンクは次のとおりです:
http://msdn.microsoft.com/en-us/library/cc151142.aspx
基本的に、1 つの文字列入力と 1 つの文字列出力を持つカスタム ワークフロー アクティビティを作成します。入力は「役職」と呼ばれ、出力は「正規化された役職」になります。Execute メソッドでは、CRM Web サービスを使用して、入力された役職に基づいて正規化された役職を検索し、出力プロパティを設定します。
CRM に戻ると、作成時または役職フィールドが変更されたときにトリガーされる新しいワークフローを作成します。最初のステップとして新しいカスタム アクティビティを追加し、連絡先の役職を渡します。2 番目のステップは、連絡先に対する通常の更新ステップであり、正規化された役職をステップ 1 の出力に設定します。
それが役立つことを願っています!