エンティティ フォームのカスタマイズ

フォームには、エンティティ レコードを作成、表示、編集するために使用するユーザー インターフェイス (UI) が用意されています。 エンティティ フォームを作成または編集するには、カスタマイズ ツールのフォーム デザイナーを使用します。 詳細: アプリケーション内のフォームの作業に関連するタスクの詳細は、フォームの作成および設計を参照してください。

このトピックでは、フォームをプログラムで作成または編集するために必要な情報を提供します。

フォーム定義へのアクセス

エンティティ フォームは、ダッシュボードおよびビジュアル化とともに SystemForm のエンティティに格納されます。 エンティティのフォーム定義を確認する以下の 2 つの方法があります。

  • エンティティをアンマネージド ソリューションに含め、ソリューションをエクスポートします。

  • SystemForm のエンティティをクエリ

エクスポートしたエンティティから FormXML を表示

カスタマイズ済みのシステム エンティティ フォームの定義のみが、エクスポートされた管理ソリューションに含まれます。 システム エンティティ フォームの定義を表示するには、何らかの方法でそれを変更するか、または既存のフォームを新しい名前で保存して新しいフォームを作成するかのどちらかが必要です。

ソリューションのエクスポート後、コンテンツを抽出して customizations.xml ファイルを表示します。 フォームの定義は ImportExportXml>Entities>Entity>FormXml にあります。 <FormXml> ノード内では、各種類のフォームが <forms> 要素内に、フォームの種類を示す type 属性と共にグループ化されています。

フォームのプロパティ

次の表は、主な SystemForm エンティティ属性および対応するデータについて説明しています。このデータには、ソリューションとともにエクスポートされた XML 要素が含まれています。

SystemForm プロパティ FormXML 要素 内容
AncestorFormId <ancestor> 親フォームを表す一意識別子です。 これは既存のフォームで名前を付けて保存を使用して、または CopySystemFormRequest を使用して新しいフォームを作成したときに設定されます。
CanBeDeleted <CanBeDeleted> このコンポーネントを削除できるかどうか指定する情報です。この管理プロパティは、管理ソリューションのインポートによりフォームが作成される場合にのみ適用されます。
Description <Descriptions> Description は文字列で、<Descriptions> にはフォームの説明のためのローカライズされたラベルが含まれています。

ローカライズされたラベルは RetrieveLocLabelsRequest を使用して取得できます。
FormActivationState <FormActivationState> フォームの状態を指定します。

「メイン」の種類のフォームのみを非アクティブ化できます。

有効な値:

- 0: 非アクティブ
- 1: アクティブ
FormId <formid> フォームを表す一意識別子
FormPresentation <FormPresentation> このフォームが、 Dynamics 365 for Customer Engagement の更新済み UI のレイアウトであるかを指定します。
FormXml <form> フォーム レイアウトの XML 表現です。
IntroducedVersion <IntroducedVersion> フォームが追加されたソリューションのバージョンです。
IsAIRMerged なし このフォームが、Dynamics 365 for Customer Engagement の更新済み UI のレイアウトでマージ済みであるかを指定します。
IsCustomizable <IsCustomizable> このコンポーネントがカスタマイズ可能かどうかを指定する情報です。

この管理プロパティは、フォームが管理ソリューションをインポートして作成された場合にのみ適用されます。
IsDefault なし フォームまたはダッシュボードがシステムの既定であるかどうかを指定する情報です。
Name <LocalizedNames> Name は文字列で、<LocalizedNames> にはフォーム名のためのローカライズされたラベルが含まれています。

ローカライズされたラベルは RetrieveLocLabelsRequest を使用して取得できます。
ObjectTypeCode フォームは Entity 要素の子孫です。 ObjectTypeCode 値はエンティティの論理名です。
Type <forms> 要素 type 属性 フォームで有効な値は以下の通りです。

- 2: main
- 5: mobile
- 6: quick
- 7: quickCreate

フォームを作成して編集する

エンティティの新しいフォームは、EntityMetadata. CanCreateForms が許可する場所にのみ作成することができます。

新しいフォームは、CreateRequest または CopySystemFormRequest のいずれかを使用して作成できます。 CopySystemFormRequest を使用するか、フォーム エディターの名前を付けて保存使用するとき、フォーム間に継承がないことに注意してください。 したがって、基本フォームを変更しても、そこから作成されたフォームにはその変更は自動的に適用されません。

エンティティ フォームを編集するサポートされる方法は、エクスポートされた管理ソリューションからフォーム定義を編集し、ソリューションを再度インポートすることです。 手動でフォームを編集するとき、スキーマ検証を使用できる XML エディターの使用を強くお勧めします。 詳細: スキーマ検証を使用した XML カスタマイズ ファイルの編集

参照

Microsoft Dynamics 365 Customer Engagement のカスタマイズ
フォームの作成および設計
SystemForm エンティティ
業務ルール起動方法の作成および編集
フォーム XML スキーマ