Open棟梁Project - マイクロソフト系技術情報 Wiki -[[戻る>CRMのカスタマイズ]] * 目次 [#xc95c7e8] #contents *概要 [#e06fa4cc] -エンティティ レコードのCRUDを行う。 --システム エンティティ --カスタム エンティティ -複数のコンポーネントから構成される。 --フォーム エディタで配置・表示を調整できる。 --レスポンシブ・デザインを採用。 -1つのエンティティに --1つのメイン フォーム --1つのモバイル フォーム --フォームを追加することもできる。 -セキュリティ ロール~ フォームへのアクセスを許可するユーザ・グループを指定 **種類とクライアント [#q4b2d9a7] -メイン フォーム --ブラウザ --Outlook --タブレットPC用DCRMクライアント -モバイル フォーム --電話用DCRMクライアント **新・旧 [#h77012f3] ***クラッシック フォーム [#u5d8ded8] -外観:リボンやツールバー -エンティティ --記事 --接続 --価格表 --見積製品 ***新しいエンティティ フォーム(~2013) [#z4681f17] -新機能 --業務プロセスフロー --[[業務ルール>CRM 業務ルールの構成]] -画面 --タブレットPC用DCRMクライアント(レスポンシブ・デザイン) --外観の変更:リボンやツールバーの代わりにコマンドバー -エンティティ --マーケティング リスト ---潜在顧客 ---予定 --営業案件 ---キャンペーン ---簡易キャンペーン ---キャンペーン活動 ---キャンペーンの反応 ---競合企業 ---営業資料 ---提案製品 ---見積 ---製品 ---価格表品目 ---受注 ---請求書 --サポート案件 --契約 --契約品目 --共通 ---取引先企業 ---取引先担当者 ---電話 ---FAX ---電子メール ---レター ---タスク ---定期的な予定 ---ユーザ ---チーム *構造 [#r8962639] **主要領域 [#h53e15ec] ヘッダ、本文、フッタ ***ヘッダ、フッタ [#m62e1582] -スクロールしても表示位置は変わらない。 -ヘッダの初期値は”タイトル” -フッタは常に読み取り専用 -ヘッダ、フッタにはWebリソースの配置も可能 ***本文 [#g703ff22] -階層 -タブ --列 ---セクション ----フィールド ----,etc. -フォームに追加~ フォーム エディタのリボンの[挿入]タブから追加 -タブ(1つ以上) --列(1つ以上) ---セクション(1つ以上) *フォーム [#t67472f7] **プロパティ [#lf452fb9] ***イベント タブ [#tb7949da] Webリソースとして保存されたスクリプト ライブラリをフォームに関連付けできる。 -スクリプト ライブラリのカスタム関数とCRMイベントを関連付ける。 -OnLoadやOnSaveなどのCRMイベント。 -参考 --Microsoft Dynamics CRM フォームのコードを記述する~ https://msdn.microsoft.com/ja-jp/library/gg328261.aspx --フォーム イベント(クライアント側の参照)~ https://msdn.microsoft.com/ja-jp/library/gg334481.aspx ***表示タブ [#l1d269a5] -フォーム名 -説明 -ナビゲーション アイテムを表示する。~ ナビゲーション バーに関連エンティティが表示される。 -イメージをフォームに表示~ --イメージ フィールドが含まれていて~ プライマリ イメージが設定されている場合、~ チェック ボックスをオンにすると、イメージが表示される。 --イメージをクリックするとイメージをアップロードできる。 -最大幅 --レスポンシブ デザインを採用 --ピクセル単位、既定値1900px ***パラメタ タブ [#b9b43e63] 文字列パラメータ(クエリーストリング)を追加して、~ データをフォームに渡すことができる。 -フォームに渡すパラメーターを使用してフィールド値を設定する~ https://msdn.microsoft.com/ja-jp/library/gg334375.aspx ***非イベント依存関係タブ [#bb367140] -いずれかのフィールドが、イベント以外のスクリプトで必要かどうかを指定。 -依存関係が指定されているフィールドは削除することができない。 -イベント以外のスクリプト --コマンドバーのカスタムボタン --IFRAMEや、Webリソース内 ***プロパティ ダイアログ ボックス表示 [#y966444a] リボンの[フォームのプロパティ]ボタンをクリック **作成と変更 [#d1f3a538] ***作成 [#t2bf1a10] -エンティティに新しいフォームを作成する --[設定] ---> [ソリューション] ---> [エンティティ] --エンティティを展開し、[フォーム]をクリックする。 --ツールバーから[新規]をクリックしフォームの種類を選択する。 --一番上のフォームが自動的にコピーされる、編集。 --編集後、[下書きとして保存] or [保存して閉じる]をクリック。 --”新しいフォーム”という名前で保存される。 ***変更 [#ce161bea] -他のフォームと同じ方法でカスタマイズ可能になる。 --保存したフォーム名を変更する。 ---プロパティ ダイアログ ボックス表示する。 ---フォームの名前を変更する。 --レコードを開いている状態で、~ [その他のコマンド]をクリックし[フォーム] or [フォーム エディタ] ---フォーム エディタが開く ---編集 ---フィールドの接頭辞には注意~ カスタムソリューションの発行元の接頭辞と異なる可能性。 ***プレビュー [#x87cedb4] リボンの[プレビュー]ボタンを押下すると、表示を確認できる。 -状態を選択できる。 --フォームの作成(レコード作成時の表示) --フォームの更新(レコード更新時の表示) --読み取り専用(レコード参照時の表示) JavaScriptや業務ルールを有効にしている場合の最終状態は異なる。 *要素 [#aae2a072] フォーム内に配置する要素 **タブ [#za060541] タブ リボンの[挿入]タブで追加できる。 ***プロパティ [#cca6db2f] タブのプロパティ -表示タブ --名前 ---名前 ---ラベル ---このタブのラベルをフォーム上に表示 ---既定でこのタブを展開する~ IFRAMEなどデータの取得に時間が掛かる場合。 --表示 ---既定で表示する(JavaScriptで表示・非表示切り替え可能)。 -形式タブ~ タブの形式とレイアウト --一列 --二列 ---■ ■ ---■ | ---| ■ --三列 ---||| ---|■| -イベント タブ~ TabStateChangeイベントにJavaScript関数を追加 -プロパティ ダイアログ ボックス表示~ フォーム エディタで目的のタブを --ダブルクリック --選択し、リボンの[ホーム]タブで[プロパティの変更]ボタンをクリック **列 [#c7435f26] タブ内の列 リボンの[挿入]タブで追加できる。 -1列 -2列 -3列 -+列幅の選択肢 **セクション [#y2effce3] 列内のセクション リボンの[挿入]タブで追加できる。 -1列に更に1列~4列を追加できる。 -コンポーネントは列に跨って配置可能。 -ただし基本は複数列で区切り、1列セクションを推奨。~ (レスポンシブデザインが採用されているため) ***フォーム コンポーネント [#a717d116] フォーム コンポーネントを組み合わせて配置 -フィールド -サブグリッド -グラフ -メモ コントロール -IFRAME -Webリソース -Bingマップ -スペーサー ***プロパティ [#p5f6f301] -タブのプロパティと≒。 -イベントタブは無い。 -表示タブ~ 固有のプロパティ --フィールドラベルの幅(ピクセル)。 --フォーム上でこのセクションをロックします。 -形式タブ~ セクションの形式を構成 --レイアウト ---1列-4列 --フィールド ラベルの配置 ---左 ---右 ---中央揃え --フィールド ラベルの位置 ---左 ---上 -プロパティ ダイアログ ボックス表示~ フォーム エディタで目的のセクションを --ダブルクリック --選択し、リボンの[ホーム]タブで[プロパティの変更]ボタンをクリック *フォーム コンポーネント [#o06cfb8b] **フィールド [#kcc44d75] セクション内のフィールド(フォーム コンポーネントの一つ) -フォーム エディタのフィールド エクスプローラー --エンティティの全フィールドが表示される。 --フィルタの設定で[すべてのフィールド] or [カスタム フィールド]を選択可能。 --追加で、[未使用のフィールドのみを表示する]を選択できる。 --フィールド エクスプローラーからフォーム エディタにD&D可能。 --[新しいフィールド]ボタンで新しいフィールドを作成できる。 [カスタム フィールド] + [未使用のフィールドのみを表示する]便利。 ***プロパティ [#ad19b8ed] -表示 タブ --ラベル ---フィールドの隣に表示されるラベル ---既定値は、フィールドの表示名 --ラベルをフォーム上に表示 --フィールドが読み取り専用 ---淡色表示になる ---JavaScriptと[[業務ルール>CRM 業務ルールの構成]]は変更可能 --フォーム上でこのフィールドをロックする。~ フォーム上から削除できないようにロックする。 --既定で表示する ---Hidden相当 ---JavaScriptで表示・非表示切り替え可能 -形式 タブ~ 1フィールドが使用するセクション列の数(1列-4列) -詳細 タブ --元になるフィールド定義のプロパティを参照 --読み取り専用、[編集]ボタンでフィールド定義フォームを開く -イベント タブ~ OnChangeイベントのJavaScript関数を追加 -[[業務ルール>CRM 業務ルールの構成]] タブ~ フィールドに関する[[業務ルール>CRM 業務ルールの構成]]を表示・追加・変更 -プロパティ ダイアログ ボックス表示~ フォーム エディタで目的のセクションを --ダブルクリック --選択し、リボンの[ホーム]タブで[プロパティの変更]ボタンをクリック ***複合フィールド [#kcb95cff] -複数のテキスト フィールドを連結し1つのテキスト フィールドとしてDBに格納する。 -複合フィールドをクリックすると、ポップアップで複数のフィールド入力を行う。 -テキストフィールド内に1つでも必須項目があると複合フィールドも必須項目になる。 -接尾辞:xxxx_composite -利点 --省スペース --視認しやすい -例 --氏名(名・ミドルネーム・姓) --住所(地域、国、県、市/区/町/村、,etc.) **サブグリッド [#e6563950] -概要 --フォーム上に他のエンティティのレコードを表示する場合に使用する。 --メインフォームのレコードに関連したレコードを表示する。 --サブグリッドにはビューから返されたレコードが表示される。 --リスト、若しくはグラフとして表示される。 --ユーザはリストのレコードを開いたり、新規レコードを追加したりすることができる。 -追加方法 --フォーム エディタでセクションを選択した状態 --リボンの[挿入]タブで[サブグリッド]をクリック ***プロパティ [#ne0ca173] http://www.microsoft.com/en-us/dynamics/crm-customer-center/set-properties-for-a-chart-or-list-included-in-a-dashboard.aspx -表示 タブ --名前~ 英数字+アンダースコア --ラベル~ サブグリッドに標示されるデータの内容を表すラベル --ラベルをフォーム上に表示 --レコード ---[すべてのレコードの種類] ---[関連レコードのみ] --エンティティ ---[レコード]オプションの設定に応じた[エンティティ]の一覧 ---1対多:関連エンティティと検索フィールドが表示 ---多対多:エンティティのみ表示 --規定のビュー~ 指定したエンティティの共有ビューの一覧から既定で使用するビューを選択 --編集ボタンと新規ボタン ---選択したビューの変更 ---ビューの新規作成 --検索ボックスを表示 ---サブグリッドに検索ボックスを表示 ---レコードが多いグリッドで役立つ。 ---この検索には簡易検索ビューが使用される。 --表示インデックス~ 下部文字列一覧の文字をクリックすると~ その文字で始まるレコードへ移動できる。 --ビューセレクタ --オフ:常に既定のビューを使用。 --すべてのビューを表示:すべてのシステム ビューが表示。 --選択されたビューを表示:選択されたシステム ビューが表示。 --グラフのみを表示する ---リストが削除される ---グラフのみ表示される。 --既定のグラフ ---[グラフのみを表示する]が選択されている場合に有効。 ---エンティティで定義されているグラフの一覧から必要なグラフを選択 ---選択したグラフにはビューのレコードデータが表示される。 --グラフの選択項目を表示する。 ---[グラフのみを表示する]が選択されている場合に有効。 ---グラフの選択一覧が、グラフ上部に表示される。 -形式 タブ~ ・・・ -プロパティ ダイアログ ボックス表示~ ・・・ **メモ コントロール(ソーシャル ペイン) [#a977e80a] -メモ、投稿(アクティビティ フィード)、活動を~ 1つのコンポーネントに纏めてタブを切り替えて表示できる。 -簡易版フォーム(?) --インラインでメモと活動を作成できる。 -スクロール ウィンドウ(?) --レコードを簡単に確認できる。 --完了した活動、取り消された活動をマーキングできる。 --すべて表示されない場合、展開してその他の情報を表示できる。 -システム投稿が自動的に生成される。 --レコードを作成 --営業案件の受注、サポート案件の解決 --上記のような、自動投稿を構成できる。 -追加方法 --エンティティでメモを設定 ---規定のフォームにメモが追加される。 --エンティティのメモを後から有効化 ---フォーム エディタでセクションを選択した状態 ---リボンの[挿入]タブで[メモ]をクリック ***プロパティ [#t56f9075] ・・・ **その他 [#pf4e8172] ***スペーサー [#k4b1853b] セクション内のコンポーネント間に空白を挿入する。 ***簡易表示フォーム [#a64c7fea] 子レコードのフォームに、親レコードの情報を読み取り専用で表示。 ***Webリソース [#b99f2665] 様々な種類のデータを格納するソリューション コンポーネント -フォーム対応のWebリソース --グラフィック --HTML --Silverlight -プロパティ --名前 --ラベル --形式 --代替テキスト --カスタム パラメータ データ -既定でこのタブを展開するをオフにしたタブに集約して配置することを推奨 ***IFRAME [#g07f10e2] -所謂、IFRAME -URLはJavaScriptで設定する。 -TabStateChangeイベントでURLを更新 -既定でこのタブを展開するをオフにしたタブに集約して配置することを推奨 ***Bingマップ [#j1d07d11] -所謂、Bingマップ -レコードの住所の場所をBingマップで表示可能 -内部的にBingマップ サービスAPIを使用する。 -住所の複合フィールドを含むシステム エンティティ フォームにのみ追加可能 --潜在顧客 --競合企業 --取引先企業 --取引先担当者 --見積 --受注 --請求書 --ユーザ -Dynamics CRM Onlineの場合はUSLに含まれている。 -設置型の場合 --状況に応じて、課金が発生する。 --Bingマップの設定方法 ---Bingマップ ポータルにログインしてAPIキーを作成する。 ---[Microsoft Dynamics CRM]--->[設定]--->[管理]、[システムの設定] ---[全般タブ]の[Bingマップの有効化]セクションに移動 ---[フォームにBingマップを表示する]で”はい”をクリック ---指定のフィールドに、BingマップAPIキーを入力する。 ***ナビゲーション リンク [#r7551acb] -ナビゲーションバーのレコード名の横の[▼]で、関連エンティティのリンクが表示される。 -フォーム エディターで関連エンティティの表示順序、グループ分けを変更できる。 -編集 --リボンの[ホーム]タブで[ナビゲーション]ボタンをクリックする。 --フォーム エディタの左側にナビゲーション領域が表示される(関連エンティティが縦に表示される)。 --ナビゲーションバーの関連エンティティのレイアウトを変更 ---表示順序の変更 ---アイテムのグループ化 ---ナビゲーション領域の上(下)がナビゲーション リンクの左(右)になる。 --名前の変更 ---関連エンティティのリンク名を変更(新しい[ラベル]を入力して[OK]をクリック) ---グループ名を変更(目的のグループをダブルクリックし新しい[名前]を入力して[OK]) --新しいリンクを追加するには、フォーム エディターの右側の~ 関連付けエクスプローラーから関連エンティティをドラッグしナビゲーション領域に配置する。 *参考 [#b81a1cc3] -フォーム エディターの使用~ https://technet.microsoft.com/ja-jp/library/dn531185.aspx