-
Notifications
You must be signed in to change notification settings - Fork 0
MS_CRMFieldCustomization
フィールドはエンティティの下位コンポーネントで、
DB のテーブルの列に相当する。
本ページでは、フィールドの
- データ型
- 作成・変更・削除
- オプション セットの構成
- 状態フィールドとステータス フィールド
について説明する。
フィールドのデータ型に対する
- 形式
- メタデータ
- UI コントロール
などについて説明。
| / | CRM型 | SQL型 | 説明 | 容量 |
|---|---|---|---|---|
| 1 | 整数 | int | ・ -2,147,483,648 ~ 2,147,483,647 の整数、別の最小値および最大値を設定可能 〈形式〉 ・ なし:数値 ・ 期間:分数、時数、日数を示すドロップダウン リスト ボックス ・ タイム ゾーン:タイム ゾーンのドロップダウン リスト ボックス ・ 言語:組織内使用可能な言語のドロップダウン リスト ボックス 〈メタデータ〉 ・ 最小値:最小の値 ・ 最大値:最大の値 ※ IME設定可能(自動、アクティブ、非アクティブ、無効) |
4バイト |
| 2 | 浮動小数点数 | float | float、別の最小値および最大値を設定可能 〈メタデータ〉 ・ 精度:0-5の小数点以下の桁数 ・ 最小値:最小の値 ・ 最大値:最大の値 ※ IME設定可能(自動、アクティブ、非アクティブ、無効) |
8バイト |
| 3 | 10 進数 | decimal | decimal、別の最小値および最大値を設定可能 〈メタデータ〉 ・ 精度:0-10の小数点以下の桁数 ・ 最小値:最小の値 ・ 最大値:最大の値 ※ IME設定可能(自動、アクティブ、非アクティブ、無効) |
13バイト |
| 4 | 日付と時間 | datetime | UTC を当該タイムゾーンの時間形式で表示 〈メタデータ〉 ・ 形式(日付のみ・日付と時刻) ※ IME設定可能(自動、アクティブ、非アクティブ、無効) |
8バイト |
| 5 | 通貨 | money | ・ 当該通貨での値(接頭辞_フィールド名) ・ 基本通貨での値(接頭辞_フィールド名_基準) 〈メタデータ〉 ・ 通貨型 ・ 為替レート(10 進数) ・ 精度:0-4の小数点以下の桁数 ・ 最小値:最小の値 ・ 最大値:最大の値 ※ IME設定可能(自動、アクティブ、非アクティブ、無効) |
money 1カラム 8バイト |
| 6 | オプション セット | int | 〈形式〉 オプション ボタン、ドロップダウン リスト的な。 〈メタデータ〉 ・ マスタ データ:[既定のオプション セットの使用] でグローバル(はい) or ローカル オプション セット(いいえ)を選択 ・ 既定値:"なし" or 上記で選択したオプション セットから選択 ・ オプション:ローカル オプション セットを作成 ・ ラベル:オプション セットの値に対応するラベル ・ 説明:オプション セットの値に対応する説明 ※ オプション セットの値は競合しないよう発行元のオプション セット接頭辞 xxxxx + 0001 から始まる。 |
4バイト |
| 7 | 2つのオプション | bit | ・ 0, 1 〈形式〉 ・ オプション ボタン×2 ・ チェック ボックス ・ リスト 〈メタデータ〉 ・ 既定値:0, 1, なし(選択必須) ・ 0・1の順序:0, 1 or 1, 0 ・ 0・1のラベル:既定で "はい"・"いいえ"、男・女、ON・OFF、正・誤などに変更可能。 ※ フィールド追加後の既存レコードのフィールド値は null になるのでエクスポート・インポートなどで対処する。 |
1バイト |
| 8 | イメージ | uniqueidentifier(GUID) | ・ 画像へのリンク(画像はアップロード)。 ・ 5,120KB 以下の jpg, jpeg, gif, tif, tiff, bmp, png ・ 1エンティティに1フィールドだけ画像を持てる |
16バイト |
| 9 | 検索 | uniqueidentifier(GUID) | 他のレコードへのリンク。 〈メタデータ〉 ・ ターゲットレコードの種類 ・ 関連付け名 ※ 詳しくは「CRM 関連付けの管理」を参照。 |
16バイト |
| 10 | 一行テキスト | nvarchar(n) | 〈形式〉 ・ 電子メール:既定の電子メール ソフトウェアで新しい電子メール メッセージ ・ テキスト:テキスト ボックス ・ テキスト領域:スクロール テキスト ボックス ・ [URL]:既定のブラウザーで URL を開く ・ 株式銘柄コード:既定のブラウザーで株式銘柄に関する情報を開く(MSN web サイト) ・ [電話]:Skype or Lync を使用して連絡を開始。 〈メタデータ〉 ※ IME設定可能(自動、アクティブ、非アクティブ、無効) |
・ 既定の最大100文字 ・ 最大4000文字 ・ 2nバイト |
| 11 | 複数行テキスト | nvarchar(n) | スクロール テキスト ボックス | ・ 最大1,048,576文字 ・ 2nバイト |
移行メモ(正誤): 元ページでは
- 整数の上限が「2,147,483,648」(正しくは 2,147,483,647)
- 整数の容量が「1バイト」(SQL の
intなので 4バイト。
同じintであるオプション セットの行は 4バイトになっており、こちらが正しい)- 2つのオプションのラベル既定値が「ははい」(正しくは はい)
となっていたため、修正した。
補足(その後追加されたデータ型): 本表は CRM 2013 前後の
データ型を対象にしている。その後、
- 大きい整数(BigInt)
- 顧客(Customer) … 取引先企業/取引先担当者のいずれかを指す検索
- ファイル/複数選択オプション セット(Choices)
- 数式列・ロールアップ列(計算列)
などが追加されている。
また現在の Dataverse では、データ型は「列の種類(Column data type)」と呼ぶ。
- エンティティ フィールドの作成または編集
http://www.microsoft.com/ja-jp/dynamics/crm-customer-center/create-or-edit-entity-fields.aspx
-
ソリューションのエンティティ一覧を展開
-
エンティティを展開
-
エンティティの [フィールド] をクリック
-
ツール バーにある [新規] をクリック。
-
下記、フォームに必要な情報(フィールドのプロパティ)を入力していく。
-
最後に、[保存して閉じる] をクリック
フィールドのプロパティを入力していく。
- 表示名:UI 上の名称
- 名前:スキーマ上の名称
入力要求レベル
- 任意
- 推奨(項目)
- 必須(項目)
高度な検索ツールで検索&一覧に表示可能にする。
- エンティティのアクセス許可に対してフィールドのアクセス制限を設定する。
- 詳しくは「CRM 追加のセキュリティ オプション」を参照
- 監査の対象フィールドとして指定する。
- 詳しくは「CRM 追加のセキュリティ オプション」を参照
フォーカスで表示・非表示される入力の説明文。
データ型を参照。
-
表示名
-
フィールド要件
-
検索可能
-
フィールド セキュリティ
-
監査
-
説明
-
データ型のプロパティ
データ型によっては変更できるプロパティがある。
| / | CRM型 | プロパティ |
|---|---|---|
| 1 | 整数 | ・ 最小長 ・ 最大長 ・ IMEモード |
| 2 | 浮動小数点数 | ・ 最小長 ・ 最大長 ・ IMEモード |
| 3 | 10進数 | ・ 最小長 ・ 最大長 ・ IMEモード |
| 4 | 通貨 | ・ 最小長 ・ 最大長 ・ IMEモード |
| 5 | 日付と時間 | ・ 形式 ・ IMEモード |
| 6 | オプション セット | ・ 既定値 ・ ローカル オプション セットの中 |
| 7 | 2つのオプション | ・ 既定値 ・ 0・1のラベル ・ 0・1の順序 |
| 8 | 一行テキスト | ・ 最大長 ・ IMEモード |
| 9 | 複数行テキスト | ・ 最大長 ・ IMEモード |
移行メモ(正誤): 元ページの本表は、通貨が「5」・日付と時間が「4」と
番号が入れ替わっていたため、連番になるよう整理した。
また「2つのオプション セット」は「2つのオプション」の誤りである
(前掲のデータ型の表と表記を揃えた)。
- 名前
- データ型自体
- ソリューションのエンティティ一覧を展開
- エンティティを展開
- エンティティの [フィールド] をクリック
- 編集するフィールドをダブル クリック
- フィールドに必要な変更を行う。
- ツール バーにある [すべてのカスタマイズの公開] をクリック。
以下のプロパティの変更は複数フィールドに対して行うことができる。
- フィールド要件
- 検索可能
- 監査
以下は手順。
- ソリューションのエンティティ一覧を展開
- エンティティを展開
- エンティティの [フィールド] をクリック
- 編集するフィールドを複数選択
- メニュー バーにある [編集] をクリック
- [複数のフィールドの編集] ダイアログ ボックスでフィールドに必要な変更を行う。
- [上書き保存] をクリックし、ツール バーにある [すべてのカスタマイズの公開] をクリック。
フィールドの変更前には以下の様な問題が起きないようフィールドの依存関係を調査する。
- ワークフロー、ダイアログのプロセスの停止
- JavaScript イベントコードでのエラー
- SDK の拡張機能でのエラー
- ソリューションのエンティティ一覧を展開
- エンティティを展開
- エンティティの [フィールド] をクリック
- 調査対象のフィールドを選択
- メニュー バーにある [その他の操作] -> [依存関係を表示します] の順にクリック
補足(JavaScript は依存関係に出ない): 依存関係として追跡されるのは
ビュー・フォーム・グラフ・プロセスなどメタデータ上の参照である。
フォームのスクリプトからgetAttribute("...")で参照しているフィールドは
追跡対象外なので、[依存関係を表示します] で安全と判定されても
実行時に落ちる。この点が本節の「問題」に JavaScript が挙がっている理由である。
-
削除できない。
-
下記の構成は可能。
-
フォームに表示されないように構成。
-
検索可能フィールド プロパティをオフにして、
特定セクションにフィールドが表示されないように構成。
-
-
削除可能(データも削除され、復元できないので注意)。
-
削除前に必要に応じて依存関係をチェックする。
- ソリューションのエンティティ一覧を展開
- エンティティを展開
- エンティティの [フィールド] をクリック
- 削除するフィールドを選択
- メニュー バーにある [削除] をクリック
- ツール バーにある [すべてのカスタマイズの公開] をクリック。
- オプション ボタン、ドロップダウン リスト的な効用。
- ラベルの部分が国際化対応(複数言語対応)される。
-
ソリューションによって定義される追加コンポーネント
-
複数エンティティでオプション セットとして使用できる。
-
ワークフロー プロセス、ダイアログ プロセスで・・・
-
以前のバージョンではサポートされていなかった。
- グローバル オプション セットの作成および編集
https://technet.microsoft.com/ja-jp/library/dn531201.aspx
- オプション セット型フィールドを使用しエンティティ内で定義される。
- 当該エンティティでのみオプション セットとして使用できる。
- 変更に対する影響を当該エンティティ内に留めることができる。
-
作成
- [既定のオプション セットの使用] でローカル オプション セット(いいえ)を選択
- オプション セクションから作成する。
- [保存して閉じる] をクリック
-
編集
- オプション セットのフィールドを編集する。
- オプション セクションから編集する。
- [保存して閉じる] をクリック
- ツール バーにある [すべてのカスタマイズの公開] をクリック。
- DB 上は旧値が保持されている。
- 次回表示時は既定値が表示される。
-
高度な検索で検索して値を更新する。
-
削除しないでラベルを "使用しない" などと変更(論理削除)
-
ビジネスルールを使用して値のチェックと、更新 or 消去を促す。
-
リアルタイム ワークフローでエラー メッセージを表示し変更を促す。
(詳しくは「CRM 業務ルールの構成」を参照)
補足(オプションは論理削除が定石): オプションを消しても
既存レコードの整数値はそのまま残るため、ラベルの引けない
「宙に浮いた値」になる。高度な検索でもヒットせず、
レポートや集計で件数が合わなくなる原因になる。
本節の「ラベルを "使用しない" に変えて論理削除」という対処が
実務上は最も安全である。
- オプション セットの代わりにカスタム エンティティのレコードを使用する。
- プロパティを「検索」データ型のフィールド(カスタム エンティティのレコードにリンク)。
- カスタム エンティティのレコードはユーザがメンテナンス可能のため委任可能。
- レコードを非アクティブ化すればオプションを無効にした状態で履歴は維持できる。
-
子レコードを生成する場合、親レコードのオプション セットの値を子レコードにコピーする。
- オプション セットが異なるので、ラベルは別の名称にできる。
- オプション セット間の値を異なる値にマップできる。
-
詳しくは「CRM 関連付けの管理」を参照
1つの状態には複数のステータスが存在することがある。
このため、エンティティには2つの状態フィールド(状態・ステータス)がある。
補足(スキーマ名): 「状態」は
statecode、「ステータス」はstatuscodeで、
どちらもすべてのエンティティに必ず存在する。
現在の UI では「状態」を [状態]、「ステータス」を [状態の理由] と
表示することが多い(本ページの「ステータスは状態の理由を説明する」という
記述はこの訳語に対応する)。
レコードのメイン状態。
- 既定の状態は、アクティブ、非アクティブ
- エンティティによっては、3つの状態がある。
エンティティ毎の状態の例
-
カスタム・エンティティの既定値
- アクティブ(状態)
- 非アクティブ(状態)
-
潜在顧客エンティティの例
- 見込みあり(状態)
- 取り消し(状態)
- 見込みなし(状態)
-
電話エンティティの例
- 取り消し(状態)
- 電話していない(状態)
- 着信していない(状態)
-
サポート案件エンティティの例
- 解決済み(状態)
- 取り消し済み(状態)
それぞれの状態の理由を説明する。
エンティティ毎のステータスの例
-
カスタム・エンティティの既定値
- アクティブ(状態)
- アクティブ(同じ名前のステータス)
- 非アクティブ(状態)
- 非アクティブ(同じ名前のステータス)
- アクティブ(状態)
-
サポート案件の例
- 解決済み(状態)
- 問題解決済み(ステータス)
- 情報提供済み(ステータス)
- 解決済み(状態)
プラットフォームで制限される特定のシステム エンティティでの変更を除き、
オプション セット フィールドと同じようにステータス フィールドを変更可能。
- 状態毎に新しいステータスの追加
- 状態 -> ステータスのラベルの変更
- 整数値の変更は不可能。
変更手順は「変更 ---> 編集手順」の要領で
- ステータスのフィールドを編集、
- 状態オプション セット フィールドでアクティブ/非アクティブを選択。
- ステータスのオプション セット フィールドで値を追加するか編集する。
- [保存して閉じる] をクリック
Tags: Dynamics CRM
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。