Dynamics CRM 4.0 のセキュリティロールの設定はそこそこ柔軟に行えるのですが、特定のエンティティのフォームでのみメモを追加できなくする方法を調べる機会があったため、その方法の覚書を記載します。
サンプルでは、取引先担当者(contact) の 詳細フォームの メモタブの非表示と、詳細フォームのメニューのその他の操作→メモの追加と、ファイルの添付 メニューを非表示にしています。メモタブは一瞬表示されてしまいます。本記事のスクリプトが実施している処理はノンサポートの操作です。
動作確認は、Dynamics CRM 4.0 UR 11 を適用したオールインワン環境で行っています。クライアントはIE8を使用しました。
1. フォームのカスタマイズ
取引先担当者の詳細フォームを表示すると下図のようにメモタブと、メニューにメモの追加、ファイルの添付メニューが表示されます。(もちろん権限が必要です)。
取引先担当者を例として、メモ関連のメニューとメモタブを非表示にしてみます。ナヴィゲーションペインの設定→カスタマイズを選択し、エンティティのカスタマイズ画面を表示します。取引先担当者のフォームのカスタマイズ画面を表示し、フォームのプロパティダイアログを表示します。フォームプロパティ画面のイベントタブでOnLoadを選択し、Editボタンをクリックします。イベントを有効にするチェックボックスをチェックし、以下のようにscriptを入力します。
// Notes(メモ) タブ非表示 tab3Tab.style.display = 'none' // 表示する場合//tab3Tab.style.display = 'inline' //メモの追加,ファイルの添付メニューを非表示にする if(document.all._MIlocAddObjTo5 != undefined){ document.all._MIlocAddObjTo5.style.display = "none"; } // ファイルの添付 if(document.all._MIlocAddFileTo5 != undefined){ document.all._MIlocAddFileTo5.style.display = "none"; } if(document.all._MBlocAddFileTo5 != undefined){ document.all._MBlocAddFileTo5.style.display = "none"; }
スクリプトでtab3Tabと指定しているメモタブのIDは tabnTab (n:0ベースのtabの位置)となります。タブを追加、削除している場合はIDが異なる可能性があるので適宜修正してください。
下図のように編集したらOKボタンをクリックします。
カスタマイズを公開します。
2. 動作確認
既存のcontact(取引先担当者)レコードをダブルクリックして表示すると、メモタブとメモの追加、ファイルの添付メニューが表示されなくなることを確認できます。
3. まとめ
説明は以上です。メモは一瞬表示されてしまいますが、メモタブを非表示にできます。また、その他の操作(Actions)からメモの追加、ファイルの添付メニューを非表示にできます。
さんのコメント: さんのコメント: