Dynamics CRM 2011 と SharePoint 2010 連携 その 1

みなさん、こんにちは。

このシリーズでは、Microsoft SharePoint 2010 から見た Microsoft Dynamics
CRM 2011 の連携を紹介します。Microsoft Dynamics CRM 2011 上での
Microsoft SharePoint 2010 統合は、こちら をご覧ください。

テスト環境

このシリーズで利用する環境は以下の通りです。
※すべて設置型です。

サーバー名: AD01.contoso5.local
OS: Windows Server 2008 R2 SP1
役割: Active Directory

サーバー名: CRM2011.contoso5.local
OS: Windows Server 2008 R2 SP1
ソフトウェア:
Microsoft SQL Server 2008 R2 Standard SP2
Microsoft Dynamics CRM 2011 Update Rollup 11
Microsoft SharePoint Server 2010 SP1
Microsoft Visual Studio 2010 Ultimate SP1
Microsoft SharePoint デザイナー 2010 SP1
各種アドレス:
CRM アドレス https://crm2011:5555/ADW
SharePoint ポータル https://crm2011:80
SharePoint 管理 https://crm2011:82
SQL インスタンス: 既定のインスタンス

では早速今回のシナリオを紹介しましょう。

シナリオ 1

要件
1. SharePoint ポータルに Microsoft Dynamics CRM 2011 の取引先企業のリストを
表示する。各アイテムの編集や追加は行わない。
2. SharePoint ポータルにアクセスするユーザーは CRM ユーザーであり、
セキュリティは遵守すること。
3. ノンコーディングで実現すること。

ソリューション

要件を満たすために Business Data Connectivity Service (BCS) を利用します。
※BCS の概要は自習書が以下リンクで公開されていますのでご参照ください。
https://technet.microsoft.com/ja-jp/sharepoint/ff358322#SP09

では早速手順を見ていきましょう。

BCS とリストの作成

1. SharePoint デザイナーを起動します。

2. サイトを開くより https://crm2011 を開きます。

3. ナビゲーションより外部コンテンツタイプをクリックします。

4. 新規作成リボンより新規の外部コンテンツタイプを作成します。

image

5. 名称に FilteredAccount と入力して、スクリーンショット下部にある
外部システムのリンクをクリックします。

image

6. 接続の追加をクリックして、データソースタイプから SQL Server を選択し、
OK をクリックします。

image

7. 以下のように設定を入力して、OK をクリックします。

image

8. 追加されたデータソースよりビューを展開し、FilteredAccount
を右クリックし、リストの読み取り操作の新規作成をクリックします。

image

9. ウィザードが起動するので、戻り値パラメーター構成の画面まで
次へボタンをクリックして進めます。

10. 戻り値パラメーター構成画面は既定ですべての項目が選択
されているため、一番上のチェックボックスをクリックしてすべての
選択を解除し、accountid のみにチェックを入れます。

11. 右側の画面より識別子へのマップにチェックを入れます。

image

12. 一覧よりリストに表示したいフィールドを選択して、完了を
クリックします。今回は name と accountnumber を選択しました。

13. 再度 FilteredAccount を右クリックし、項目の読み取り操作の
新規作成をクリックします。

14. ウィザードが起動するので、次へを一度クリックします。

15. 入力パラメーター 構成の画面で accountid を選択し、右画面
より識別子へのマップにチェックを入れて、次へをクリックします。

image

16. 戻り値パラメーター構成画面は既定ですべての項目が選択
されているため、一番上のチェックボックスをクリックしてすべての
選択を解除し、accountid のみにチェックを入れます。

17. 右側の画面より識別子へのマップにチェックを入れます。また
項目として表示したい内容を選択して完了をクリックします。今回は
name, accountnubmer, telephone1 を選択しました。

18. リボンメニューよりリストとフォームの作成ボタンをクリックします。
保存の確認画面が出ますので、はいをクリックします。

image

19. リストおよびフォームの作成画面で以下のように入力して OK を
クリックします。リスト名は任意でつけてください。

image

BCS のアクセス権設定

1. SharePoint Server 2010 の全体管理を開きます。

2. アプリケーション構成の管理 | サービス アプリケーションの管理 |
Business Data Connectivity Service を開きます。

3. 先ほど作成したアイテムが表示されますので、メニューより
権限の設定をクリックします。

image

4. アクセスが必要なユーザーを追加して、実行権限を付与します。

動作確認

1. SharePoint ポータルにアクセスします。リストの一覧に作成した
取引先企業一覧があることを確認します。

2. 取引先企業一覧をクリックします。リストが表示されます。

3. 任意のレコードを開きます。項目の読み取りで設定したフィールド
が表示されます。

image

4. 別のユーザーでログインし、セキュリティ要件が満たされていることを
確認します。

まとめ

今回はもっともシンプルなシナリオを検討しましたが、この方法の
問題点は、すべての取引先企業のレコードを取得してしまう事です。
レコード数が少ない間は問題ありませんが、パフォーマンスに影響
するほか、検索する前にレコードを取得する問題があります。

次回は同じく BCS を利用して、レコードをフィルタするシナリオを
紹介します。

- Dynamics CRM サポート 中村 憲一郎