Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics 365】【8.2新機能】【JavaScript】列にアイコン表示機能を試してみた

前回まではDynamics 365(8.2)で追加された新機能の、主に標準・設定周りを見ていきましたが、今回から徐々にSDK周りをあさっていきたいと思います。

情報元は主に「開発者向けの新機能: Microsoft Dynamics 365」からです。

https://technet.microsoft.com/ja-jp/library/gg309589.aspx

そして、今回は今まで要望がありつつも、実現しようとしたら、SSRSなどの開発が必要になっていた、列へのアイコン表示機能です!

https://technet.microsoft.com/ja-jp/library/gg328457.aspx#BKMK_CustomIcons

どんなことができるかは、以下の画面キャプチャを見てもらったほうが早いですね!

これは営業案件のビューで受注確率に応じたアイコンを表示しているものです。(50以下ならエラーアイコン、51~70なら警告アイコン、71~100なら正常アイコン)

f:id:sugimomoto:20161228000051p:plain

こんな感じで、今まで物足りなかった一覧画面にアイコン情報をプラスすることができるようになります。

ちなみにサポートされているのは「16☓16」サイズのアイコン表示とTooltipメッセージのみです。

行の色付けなどをしたい場合は、サポート外のDOMアクセスなどが必要になってしまうので、注意しましょう。(というか使わないようにするべきですね。アップデートでどうなるかわかりませんから)

設定個所の確認

ビューのカスタマイズ画面からWebリソースのJavaScriptを登録することで設定できます。

カスタマイズ画面に移動して、対象のビューを表示し

f:id:sugimomoto:20161228000106p:plain

対象の列を選択して、プロパティを表示します。

f:id:sugimomoto:20161228000114p:plain

新しくWebリソースと関数の項目が追加されていますので、そこで後述するようなJavaScriptを登録します。

f:id:sugimomoto:20161228000122p:plain

JavaScriptソースコード

登録しているJavaScriptソースコードは以下の通りです。

今回は前述の通り「50以下ならエラーアイコン、51~70なら警告アイコン、71~100なら正常アイコン」を表示するというJavaScriptにしています。

ちなみに上で設定した関数の第1引数には「行情報」第2引数には「ユーザーLCID(ランゲージコード)」がわたってきます。

行情報はLayoutXML、ビューのカスタマイズで表示している各列項目がJSONで使用できますね。

そして、returnですが、配列形式で、0番にアイコンWebリソース名、1番にTooltipテキストを渡す形で決まっています。

ちなみに行情報は以下の感じで渡ってきます。

f:id:sugimomoto:20161228000133p:plain

所感

はじめ見たときは、もうちょっといろいろなことができるかな、と思いましたが、結構限定的な機能です。

しかも表示している行数分Scriptが実行されますので、Web APIなどを絡めることは厳しそうですね。

シチュエーションは限定されるかもですが、手軽に実装できるものでもありますので、ぜひ案件でも使ってみたいところです。