カスタム クエリストリング パラメーターが許可されるフォームの構成

 

公開日: 2016年11月

対象: Dynamics CRM 2015

クエリ文字列で Web ページに値を渡せることにはセキュリティ上の懸念があります。Microsoft Dynamics 365 は、クエリ文字列として渡されたパラメーターを、想定されるパラメーターの名前およびデータ型の一覧と常に突き合わせるというベスト プラクティスを使用しています。

Microsoft Dynamics 365 は、既定でクエリ文字列の所定のパラメーター セットをフォームに渡すことを許可します。 アプリケーション内で新しいレコードを作成するときは、これらのパラメーターを使用して既定値を設定します。 各パラメーターでは、属性の論理名への参照を含む標準の命名規則を使用する必要があります。 詳細については、「フォームに渡すパラメーターを使用してフィールド値を設定する」を参照してください。

アプリケーションでカスタム クエリの文字列パラメーターをエンティティ フォームに渡すことがあります。 このトピックでは、特定のエンティティ フォームで受け付けられる特定のパラメーターの名前およびデータ型のセットを定義する方法を説明します。

許可されるクエリ文字列パラメーターの定義

フォームに受け付けられるクエリ文字列パラメーターを指定する方法は 2 つあります。

  • フォーム プロパティの編集

  • フォーム XML の編集

フォーム プロパティの編集

エンティティ フォームを編集するとき、[フォーム] グループの [ホーム] タブで、[フォームのプロパティ] をクリックします。 [フォームのプロパティ] ダイアログ ボックスで、[パラメーター] タブを選択します。

このタブで、フォームが許可する名前とデータ型を変更します。

FormXml の編集

エクスポートしたソリューション ファイル customizations.xml 内で、フッター要素の直後に <formparameters> (FormXml) 要素を追加します。 この <formparameters> 要素に <querystringparameter> (FormXml) 要素を追加して、許可するパラメーターを指定します。

以下に、querystringparameter 要素の属性である nametype を説明します。

  • name。 個々の名前属性に少なくとも 1 つの下線 ("_") を含める必要があります。ただし、クエリ文字列のパラメーター名を下線で開始することはできません。 名前の先頭に "crm_" を付けることもできません。 命名規則のとおり、ソリューション発行者のカスタマイズ接頭辞を使用することを強くお勧めします。 たとえば、"myISV_contact_specialvalue" は querystringparameter の name 属性として有効です。

    重要

    querystringparameter 要素名が一意でない場合、データ型の異なる別のパラメーター定義で上書きされることがあります。

  • Type。 データ型の値をパラメーター値と一致させてください。そうすれば、無効な値がパラメーターで渡されることはなくなります。 以下は、有効なデータ型です。

    • Boolean

    • DateTime

    • Double

    • EntityType

    • Integer

    • Long

    • PositiveInteger

      注意

      PositiveIntegerは、有効な値の範囲に "0" を含みます。

    • SafeString

    • UniqueId

    • UnsignedInt

関連項目

フォームに渡すパラメーターを使用してフィールド値を設定する
URL を使用してフォーム、ビュー、ダイアログおよびレポートを開く

© 2017 Microsoft. All rights reserved. 著作権