Dynamics CRM 2011 は複数リソースの時系列ごとの予約とサービス活動をグラフィカルに横串でみることができるサービスカレンダーがあります。このサービスカレンダーの帯の色はCSSのWebリソースを作成することでカスタマイズ可能です。

帯の色のほかに、スムーズスクロールの設定(スクロールするかジャンプして移動するか) や スケジュールが重複しているかを調べるためにサーバに同時に送るアクティビティの数を設定できます。詳細は次のリンクを参照してください。帯の色以外を変更する場合はISV.config をエクスポートして編集する必要があるので注意してください。ISV.config はソリューションを削除しても変更前の状態に戻らないことも注意してください。

サービス カレンダーの外観の構成
http://msdn.microsoft.com/ja-jp/library/gg309501.aspx

今回は、予約(Appointment)のステータスが4 (キャンセル)になった場合に色を変更するサンプルを掲載します。

1. Webリソースの作成

冒頭で記載したリンク先の説明にある命名規則に従って css のWebリソースを作成します。

Webリソースを作成します。表示名は AppointmentBookConfig にします。種類は スタイルシート を選択します。Webリソース作成ご テキストエディターボタンをクリックします。

コンテンツの編集画面が表示されるので、下図のように css を作成します。下図では予約のステータスがキャンセル(4)の場合の帯のスタイルを設定しています。

スタイルの名前は div.ganttBlock<entityname>Status<statuscode> です。 <entityname> は 予定(Appointment) か サービス活動 (ServiceAppointment) です。 <statuscode> は予定とサービス活動のステータスの値です。予定のステータス値とサービス活動のステータス値は次のURLの statuscode の表を参照してください。

Appointment Entity OptionSet Attribute Metadata
http://msdn.microsoft.com/en-us/library/gg309665.aspx
ServiceAppointment Entity OptionSet Attribute Metadata
http://msdn.microsoft.com/en-us/library/hh155296.aspx

編集内容を保存してカスタマイズを公開します。

2. 動作確認

動作確認を行います。適当に予定を作成してクローズ(キャンセル) して サービスカレンダーを表示したのが下図です。色が変わっていることが確認できます。

3. まとめ

説明は以上です。サービスカレンダーはそのまんま使うしかないと思っていたのですが、2011ではほんの少しカスタマイズすることができます。残念ながら、リソースの種類(ユーザや設備/備品)ごとに色を変えるといった細かな設定はサポートされている方法では行えないみたいです。