【Tips】AppSourceの利用方法

先日、Dynamics365が発表されると共に、AppSourceも発表されました。
※詳細はこちら

AppSourceはストアを拡張したようなものです。
Dynamics CRM Onlineに適用できるソリューションも今後はこちらにアップされます。
こちらはプロジェクトベースの営業(プロジェクトサービス)のソリューションを適用する方法です。
今後はこのような手順でソリューションを利用してくことができるように思われます。
※ここでいう「ソリューション」はDynamics CRMにおいて画面構成を定義したファイルである
 「ソリューションファイル」とは全く異なります。

【Tips】CRM環境オープン後の初期設定

2016年春のアップデート後のCRM Online環境では
以下の初期設定を行わないとカスタマイズができなくなりました。
ログイン後に解説はなく、自習書にもまだ記載がないため気づきにくいです。

ログイン直後は以下のようにメニューが少なく表示されます。
[設定]>[セキュリティ]をクリックします。2016-06-20 15_50_00-ダッシュボード_ Sales Activity Dashboard - Microsoft Dynamics CRM
[ユーザー]をクリックします。2016-06-20 15_50_05-セキュリティ - Microsoft Dynamics CRM
アカウントを選択し、[管理者に昇格]をクリックします。2016-06-20 15_50_13-ユーザー 有効なユーザー - Microsoft Dynamics CRM
2016-06-20 15_50_18-管理者に昇格

 

 

 

 

 

以上です。
以下のようにメニューが表示されるようになります。2016-06-20 15_50_30-ユーザー 有効なユーザー - Microsoft Dynamics CRM

実践 カスタマイズ (9) グラフカスタマイズ

グラフのカスタマイズに関してです。
グラフのカスタマイズのポイントはグラフをXMLファイルをカスタマイズすることにポイントがあります。
Dynamics CRM画面上でのカスタマイズではあまり複雑なことはできませんが、
XMLを編集することでより多くのカスタマイズができます。

まずは画面上でのカスタマイズです。
[設定]>[カスタマイズ]をクリック
2016-06-04 11_16_37-管理 - Microsoft Dynamics CRM
[システムのカスタマイズ]をクリック2016-06-04 11_17_35-カスタマイズ - Microsoft Dynamics CRM

対象のエンティティに移動し、[グラフ]をクリック。一覧が表示されます。2016-06-04 11_21_45-ソリューション _ 既定のソリューション - Microsoft Dynamics CRM

[新規]をクリックしてグラフを作成してください。
できることは限られているのでいろいろ試してみるのがいいと思います。
保存をしたら、公開をするのはほかのカスタマイズと同じです。

XMLを編集する方法です。
グラフを選択して[その他の編集]>[エクスポート]をクリックします。2016-06-04 11_22_58-ソリューション _ 既定のソリューション - Microsoft Dynamics CRM

グラフを構成するXMLファイルをダウンロードすることができます。
あとはこのファイルをテキストエディタなどで編集し、インポートをしたら公開するだけです。

ではどのようなことができるか。ほんの一例は以下です。
・凡例が邪魔であるので非表示にしたい
・目盛りの単位を変更したい、非表示にしたい
・棒グラフの並び順を変更したい
・棒グラフと折れ線グラフを一緒に表示したい

詳しくはこちらのサイトのコンテンツが充実しているので参考にされるといいと思います。

実践 カスタマイズ (8) ボタンカスタマイズ

ボタンのカスタマイズに関して記述する。

Dynamics CRMのカスタマイズ機能では、ボタンのカスタマイズはできない。

Dynamics CRM標準機能内での制御としては権限がない場合、表示されないというような制御となる。

以下のツールを利用することでもう少し多くのカスタマイズが可能となる。

 

■Visual Ribbon Editor

https://crmvisualribbonedit.codeplex.com/

※フリーのツールであるが、利用制限や免責事項はリンク先Licenseを参照

 

利用方法は上記サイトのdownloadからプログラム一式をダウンロードし、

圧縮を解凍する。VisualRibbonEditor.exeを実行する。

20140922_101

[Open]をクリック

20140922_102

認証情報を入力し、[OK]をクリック

20140922_103

[取引先企業]に変更し、[OK]をクリック

20140922_104

20140922_105

アイコンは2011のまま。

20140922_106

[Ribbon Type]にて、どの画面のボタンを変更するかを選択する。

ここでは、フォーム画面の[Save]のタブを非表示にしてみる。[Save]を選択し、[Hide Tab]をクリック

20140922_107

20140922_108

[Save]をクリック

20140922_109

[OK]をクリック。このタイミングで変更処理が開始される。

20140922_110

公開不要。画面にアクセスしてみる。

保存ボタンなどが表示されなくなった。

20140922_111

サンプル的操作は以上とする。ツール画面上にあるとおり、ボタン単位の削除も可能であるし、

ボタンの追加も可能である。また、追加したカスタムボタンに対してアクションを含めたりすることも可能である。

一方注意も必要である。以下3点である。

1点目はサイトマップエディター同様、同時カスタマイズができない点である。

詳細は前回の投稿を確認して頂きたい。

2点目は「Hide」であるという点である。削除しているわけではない。

先ほど変更画面では全く保存ができなくなったわけではない。[Ctrl]+[S]で保存は可能である。

3点目は1処理でデフォルトに戻すということができない点である。

サイトマップエディターには存在したが、こちらにはない。ある程度慎重に変更する必要がある。

以上。

実践 カスタマイズ (7) サイトマップカスタマイズ

サイトマップに関して記述する。

ここでいうサイトマップとは画面上部のタイル形式の部分を意味する。

Dynamics CRMのカスタマイズ機能では、[営業][サービス]などを非表示にすることはできない。

※権限がない場合、表示されないことはある。

以下で紹介するツールを利用すると上記のような制御が可能となる。

様々な機能を備えているという点は当然よいのだが、

最もよい点は不具合修正が早いことであると私は考える。

Dynamics CRM Onlineは認証形式が頻繁に変更されたりする。

このような変更に素早く対応してくれることはすばらしい。

 

■Toolbox for Dynamics CRM 2011/2013

https://xrmtoolbox.codeplex.com/

※フリーのツールであるが、利用制限や免責事項はリンク先Licenseを参照

 

利用方法は上記サイトのdownloadからプログラム一式をダウンロードし、

圧縮を解凍する。XrmToolBox.exeを実行する。

[SiteMap Editor]をクリック

20140922_001

[はい]をクリック

20140922_002

[New connection]をクリック

20140922_003

以下はOnlineの場合。URLを確認して接続先を選択。[Get Orgs.]をクリック。

20140922_004

時々この接続で失敗することがある。大凡の原因は以下の2つ

・上記画面の接続情報が間違っている。URLはcrm5なのにcrmにアクセスしているなど。

・接続に必要なソフトが端末にインストールされていない。

後者のケースに関しては補足する。

問題が発生した場合は不足のソフトをインストールすればよいのだが

明確に分からない場合がある。

この場合はOutlookクライアントを一度インストールしてみると楽かもしれない。

基本的には以下の3点がよくあるケースである。

・サポートされないOS(XPなど)

・.net frameworkがインストールされていないもしくはバージョンが低い

・Windows Identity Foundationがインストールされていない。

二番目と三番目のものに関してはOutlookクライアントをインストールする過程でインストールされる。

当然、それぞれのOSに対して正しいバージョンのソフトウェアなどを確認してインストールしてもよい。

上記3点はこのツールだけでなく、Onlineにアクセスするソフトウェア一般に言えるものである。

さて、正常にアクセスできると組織が表示される。[OK]をクリック

20140922_005

[Load SiteMap]をクリック。サイトマップ情報が取得される。

20140922_006

[Area(SFA)]以外を削除してみる。それぞれを右クリック[Delete]

20140922_007

[Area(SFA)]を展開

20140922_008

[Group(MyWork)]と[Group(Customers)]を逆にしてみる。

[Group(MyWork)]選択、↓クリック

20140922_009

反映させてみる。[Update SiteMap]クリック。以下の画面で5秒程度待つ。

20140922_010

公開不要。アクセスしてみる。タイルが変更されている。

20140922_011 20140922_012

ミスがあっても問題ない。設定を戻すことも可能。

[More actions]>[Reset CRM 2013 SiteMap to default]をクリック

[はい]クリック。

※クリックしただけでは、Onlineの環境は変更されない。

20140922_013

[Update Sitemap]クリック。実際にアクセスしてみる。

20140922_015

 

非常に簡単なツールであり、また簡単にデフォルトへ戻すことができる。

サイトマップはデータベース構造に影響を与えるようなものではない。

様々なことにトライしてみるとよい。

例えば、[営業]と同じ単位に[Yahoo]を作成し、http://www.yahoo.co.jpを入力すれば、

Yahooにアクセスできるタイルボタンが作れたりする。

イントラやBIグラフを表示させてもよいかもしれない。

ただし、1点注意が必要である。

このツールを利用すると同時にDynamics CRM標準の画面カスタマイズは行えないという点である。

このツールは最初に接続し、取得したサイトマップを含むソリューションに対して、

Updateを実行する。途中でカスタマイズを行ったとしても最後に上書きされてしまう。

以上。

実践 カスタマイズ (6) 関連設定のカスタマイズ

関連設定に関して記述する。

関連設定とはエンティティとエンティティとの関連を設定するものである。

Dynamics CRMで実装可能な関連設定と設定方法、マッピング、伝播に関して記載する。

 

設定可能な関連設定は、「1:N」「N:1」「N:N」の3種類である。

「1:N」「N:1」に関しては以下のとおりである。どちらが先かというだけで同義である。

1に該当するエンティティには関連先のエンティティのデータを

N個関連できるように関連ビューが設定可能となる。

Nに該当するエンティティには関連先のエンティティのデータを

1個関連できるように検索(Lookup)型のフィールドが追加される。

「N:N」に関しては両エンティティに関連ビューが設定可能となる。

以下3点を補足する。

・Lookupに表示される値はプライマリーフィールド。

・1:1の関係は作成できない。1:Nのような形式をとり、

N個作成できないようPluginを利用したコーディングで制御するような方法をとるしかない。

・N:Nのデータを作成する際は既存のデータを関連づけるしかない。

関連ビューのボタンを見れば分かるが、作成というボタンは存在しない。

 

次に私の設定方法である。N:Nは割愛し、1:N、N:1のケースを記載する。

・どちらのエンティティにLookupがくるか考える

・フォームのカスタマイズからLookup型を作成する

1:N、N:1の関連設定は、下記のエンティティのカスタマイズから作成が可能である。

20140912_001

しかしながら、フィールドの追加と同様フォーム上から実施するほうが

作成から配置までを一貫して操作が可能であるため、私は以下の方法をとっている。

取引先企業に[営業アシスタント]というユーザーエンティティのLookupを作成する場合とする。

取引先企業のフォームにアクセスする。[フォーム]をクリック

20140912_002

[新しいフィールド]をクリック

20140912_003

 

以下のように入力し、[保存して閉じる]をクリック。

[関連付け名]はデフォルトの値で困ったことはないため変更不要。

20140912_004

 

任意に配置する。

20140912_005

 

保存して公開すれば、フォームへ反映完了。

逆のユーザーエンティティでの状態を確認する。

ユーザーエンティティのフォームのカスタマイズ画面を起動する。

左側の関連ナビゲーションに[取引先企業]が追加されている。

自動的にリボン上に表示するのがデフォルトであるため、不要な場合は削除する。

20140912_006

 

次はマッピングに関してである。

※マッピング及び次の伝播に関してはあまり意識をされていないように思われる。

マッピングとは1エンティティのフォーム上に表示されるN関連したエンティティのデータを

作成する場合、1エンティティ側のフィールドの値をNエンティティ側に反映する機能である。

取引先企業と取引先担当者は1:Nの関係となっていて、取引先企業上に表示されている

取引先担当者関連ビューから取引先担当者のレコードを作成することができる。

また、取引先企業と取引先担当者は住所フィールドを持っている。

所属する取引先企業と取引先担当者の住所は業務上同じであると仮定した場合、

マッピング機能がなければ双方のデータを作成する際、双方の住所データを入力する必要がある。

取引先担当者が1000名存在したら、1000回住所を入力する必要がある。

しかしながら、マッピング機能を使うと、取引先担当者の住所には常に所属する取引先企業の

住所データが反映される。入力する手間が省ける。

初期設定でこのようになっているため、設定されている箇所を確認する。

エンティティのカスタマイズで、[取引先企業]>[1:Nの関連付け]

>関連エンティティが取引先担当者のものをダブルクリック。

20140912_007

 

[マッピング]をクリック。

マッピングされている情報が表示。追加が必要な場合は[新規]をクリックして追加していく。

20140912_008

実際の動きは下記。

住所が入力され、保存されている取引先企業のフォームを起動し、

取引先担当者関連ビューの[+]をクリックして取引先担当者を追加する

20140912_009

 

右列の住所情報に値がセットされていることが分かる。

 

20140912_010

 

初期値をセットするだけであり、取引先企業での変更ごとに同期が取られるわけではないという点に注意が必要である。

 

最後に伝播である。

伝播とは、1側のエンティティの割り当て等変更が発生した場合、

この変更をN側エンティティにどう反映するかというものである。

例えば、ある取引先企業とその取引先担当者を管理していたとする。

あるとき、その取引先企業が廃業し、今後一切この取引先企業の情報を参照しないことになり、

取引先企業を削除する必要が発生したとする。

伝播が全く行われない場合、取引先企業を削除しても取引先企業のみが削除され、

取引先担当者は削除されない。一方、伝播が行われる場合は同時に取引先担当者も削除される。

こういったイメージのものであり、所有者の変更や共有などといった

変更アクションに対しても設定が可能となる。

設定箇所はマッピングの上の情報という部分である。

20140912_011

 

上記は[割り当て(所有者変更)]が発生した場合、どのような範囲で伝播をさせるかを選択している。

SFAの場合は、所有者を営業担当のようにして利用することが多々ある。

取引先企業の営業担当者が変更となった場合、取引先担当者や営業案件の所有者をどうするかは

業務次第である。実は重要な設定のひとつである。

ここではこれ以上の詳細は割愛する。実際に様々な設定をして動きを確認しておくことをお勧めする。

あまりドキュメントが見当たらないため、cascade(=伝播)、relationship behavior(=関連付けの動作)

などで検索したblogなどを参考にするとよい。

以上。

実践 カスタマイズ (5) フィールドのカスタマイズ

フィールドに関して記述する。

フィールドを作成する方法と型ごとの注意と型以外の注意に関して記載する。

まずは作成方法である。下記2の画面から作成が可能である。

・フォームのカスタマイズ画面の右下[新しいフィールド]

20140905_001

・エンティティのカスタマイズ画面のフィールドの[新規]

20140905_002

私は常にフォーム上から作成している。

・フィールドを作成する際はフォームを同時に検討することが多い

・作成したらフィールドを探すことなくすぐにフォームに配置したい

・エンティティのカスタマイズ画面の遷移は一般的に遅い

以上の理由からである。

細かいことであるが、ルールを決めて同じ操作をしていれば自然とカスタマイズスピードは向上する。

 

次にフィールドの型ごとの注意である。

■オプションセット

オプションセットにするのかエンティティのLookupにするのかを事前に検討すること。

選択肢に増減がほとんどなければ前者、あるのであれば後者とするのが一般的な考え方である。

オプションセットの変更はカスタマイズ権限が必要であるが、Lookupの値の増減は

単純にそのエンティティへの作成権限などであるためである。

また、選択肢の先頭には「1.○○」のように昇順/降順がソートできる工夫をすべきである。

ビュー上で列名をクリックすると昇順と降順を切り替えることができるが、

文字列から始まる値の場合、ソートしたい順序にならない可能性があるためである。

■二つのオプション

二つのオプションは少し特殊である。

フィールドのカスタマイズを行った後、フィールドに配置後、表示形式を選択することができる。

20140905_003

 

この仕様が存在することを覚えておきたい。また、上記で[チェックボックス]を選択すると

フォーム上に値が存在しなくなる(□ もしくは□内に「レ」がつく表示)。

しかしながら、ビュー上では□ もしくは□内に「レ」がつく表示にはならず、

フィールドのカスタマイズで設定した値(初期値は「はい」「いいえ」)が表示される。

違いが発生することに注意が必要である。

■その他

入力値に適切なものを選択すればほとんど問題ない。

 

次に型以外の注意である。

物理名に相当する[名前]は作成後に変更ができないことはエンティティと同様である。

その他は後に変更できるので意味合いの解説だけしておく。

■フィールド要件

任意項目:通常のフィールドという位置づけと考えてよい

推奨項目:フィールド表示名近くに「+」が表示され、強調される。

制御は特になくこの意味では任意項目と同じ。

必須項目:フィールド表示名近くに「*」が表示され、値が存在しないと保存できないフィールド

■検索可能

影響範囲がどこまでであるか正確に把握していない。

高度な検索の検索条件でフィールドを選択する場合、この設定が「有効にする」でないと

プルダウンで表示されない。逆を言うと、利用しないフィールドで「有効にする」となっていると

高度な検索の検索条件で選択が可能となり、誤った操作につながることがある。

■フィールドセキュリティ

フィールドセキュリティ機能を利用する場合にチェックすると設定の選択肢として選択が可能となる。

■監査

監査機能をオンにした場合、監査対象として含むか否かの設定。

上記の中で[検索可能][監査]はいわゆる「オン」が初期表示となっている。

それぞれのフィールドで変更してもよいが、以下の手順で一括的に変更が可能である。

エンティティのカスタマイズの[フィールド]をクリックし、「レ」をクリックして全選択状態にする。

[編集]をクリックする。

20140905_004

 

とりあえず、[検索可能][監査]をオフにして[上書き保存]をクリック

 

20140905_005

選択したフィールドの値が一括変更される。

※時々エラー表示がされる。

ただし、オフにできないものが選択肢にふくまれている程度のエラーであるため気にすることはない。

上記の手順で一度すべてオフにした後に利用するフィールドのみオンにすると多少手間が省ける。

以上。次回はエンティティどおしの関連設定に関して記載する。