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

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

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

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

このトピックの内容

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

フォームのプロパティ

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

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

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

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

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

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

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

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

フォームのプロパティ

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

SystemForm プロパティ

FormXML 要素

内容

AncestorFormId

<Ancestor> (FormXml)

親フォームを表す一意識別子です。 これは既存のフォームで [名前を付けて保存] を使用して、または CopySystemFormRequest を使用して新しいフォームを作成したときに設定されます。

CanBeDeleted

<CanBeDeleted> (FormXml)

このコンポーネントを削除できるかどうか指定する情報です。この管理プロパティは、管理ソリューションのインポートによりフォームが作成される場合にのみ適用されます。

Description

<Descriptions> (FormXml)

Description は文字列で、<Descriptions> (FormXml) にはフォームの説明のためのローカライズされたラベルが含まれています。

ローカライズされたラベルは RetrieveLocLabelsRequest を使用して取得できます。

FormActivationState

<FormActivationState> (FormXml)

フォームの状態を指定します。

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

有効な値:

  • 0 : 非アクティブ

  • 1 : アクティブ

FormId

<formid> (FormXml)

フォームを表す一意識別子

FormPresentation

<FormPresentation> (FormXml)

このフォームが Microsoft Dynamics 365 (オンラインおよび設置型) の更新済み UI のレイアウトであるかを指定します。

FormXml

<form> (FormXml)

フォーム レイアウトの XML 表現です。

フォーム構造の詳細については、「<form> (FormXml)」を参照してください。

IntroducedVersion

<IntroducedVersion> (FormXml)

フォームが追加されたソリューションのバージョンです。

IsAIRMerged

なし

このフォームが Microsoft Dynamics 365 (オンラインおよび設置型) の更新済み UI のレイアウトでマージ済みであるかを指定します。

IsCustomizable

<IsCustomizable> (FormXml)

このコンポーネントがカスタマイズ可能かどうかを指定する情報です。

この管理プロパティは、フォームが管理ソリューションをインポートして作成された場合にのみ適用されます。

IsDefault

なし

フォームまたはダッシュボードがシステムの既定であるかどうかを指定する情報です。

Name

<LocalizedNames> (FormXml)

Name は文字列で、<Descriptions> (FormXml) にはフォーム名のためのローカライズされたラベルが含まれています。

ローカライズされたラベルは RetrieveLocLabelsRequest を使用して取得できます。

ObjectTypeCode

フォームは Entity 要素の子孫です。

ObjectTypeCode 値はエンティティの論理名です。

Type

<forms> (FormXml) 要素 type 属性

フォームで有効な値は以下の通りです。

  • 2: main

  • 5: mobile

  • 6: quick

  • 7: quickCreate

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

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

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

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

関連項目

Microsoft Dynamics 365 アプリケーションをカスタマイズする
TechNet: フォームの作成および設計
SystemForm (システム ダッシュボード) エンティティのメッセージおよびメソッド
業務ルール起動方法の作成および編集
Form XML reference
Form XML schema

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権