基本フォームについて

注意

2022 年 10 月 12 日より、Power Apps ポータルは Power Pages となります。 詳細: Microsoft Power Pages の一般提供が開始されました (ブログ)
Power Apps ポータルのドキュメントは、近日中に Power Pages ドキュメントに移行、統合されます。

開発者がポータルでフォームを表示する必要なく、エンド ユーザーがポータルのデータを収集するためのフォームを追加できるようにするデータ駆動型の構成では、基本フォームは Microsoft Dataverse で作成され、ポータルの Web ページに配置するか、サブグリッドとリストと組み合わせて使用して、完全な Web アプリケーションを構築します。 詳細情報: リストについて

お問い合わせフォーム。

自分のポータルにフォームを追加する

基本フォームには、Web ページとの関連付け、およびポータル内のフォームの初期化を制御する追加プロパティが含まれています。 Web ページへの関連付けにより、Web サイト 内の特定のページ ノードのフォーム定義を動的に取得できます。

既存の基本フォームの表示や、新しい基本フォームの作成を行うには、ポータル管理アプリ を開き、ポータル > 基本フォームに移動します。

新しい基本フォームを作成する場合は、最初の手順として、モード: 挿入、編集、または読み取り専用に加えて、表示するテーブルおよびフォーム名を決めます。 選択したモードは、ポータルから新しいレコードを作成するか、既存のレコードを編集するか、ポータルのレコードに関する情報を表示するだけかを決定します。

注意

続行する前に、基本フォームの 考慮事項 を必ず確認してください。

基本フォームに関連付けられる Web ページは、左端のメニューにある関連ナビゲーション リンクに一覧表示されている Web ページ リンクを選択することにより表示できます。

Web ページを作成または編集する場合には、Web ページ フォームに表示されている lookup フィールドで基本フォームを指定できます。

ポータルで使用されるさまざまなマスター ページには、TableForm サーバー コントロールの宣言が含まれています。 ページ (~/Pages/Page.aspx) のページ テンプレートまたはフル ページ (~/Pages/FullPage.aspx) のページ テンプレートのどちらかを含む Web ページを表示する場合、コントロールが基本フォームの検索に値が含まれるかどうかを確認し、この場合、フォームが表示されます。

フォームのセキュリティ保護

注意

フォームを保護するこの方法は、まもなく非推奨になります。 そのため、使用しないでください。 適切な テーブルのアクセス許可 と Web ロール設定を使用して、代わりにユーザーに任意のデータへのアクセスを提供します。 詳細情報: 新しいポータルのフォームとリストのテーブル権限の変更

フォームをセキュリティで保護するには、Web ロールに従ってレコードのアクセスおよび所有者を決定するテーブル アクセス許可を作成する必要があります。 ユーザーがアクセス許可のない基本フォームにアクセスした場合、エラー メッセージが表示されます。 また、テーブルのアクセス許可が有効になっていない状態でフォームが構成されている場合にも、警告が表示されます。

"このレコードに対するテーブル アクセス許可を有効にしてください。そうしない場合、インターネット上の誰もがデータを表示できます。"

基本フォームの権限を有効にするには、チェックボックスを テーブル権限を有効にする に選択してください。 詳細情報: ポータルの Web ロールの作成

基本フォームの属性と関連付け

件名 内容
件名 レコードの内容を示す名前。 これは必須フィールドです。
テーブル名 フォームの読み込み元のテーブルの名前。 これは必須フィールドです。
フォーム名 レンダリング対象のテーブルにあるフォームの名前。 これは必須フィールドです。
タブ名 レンダリング対象として指定されたテーブルにあるフォームのタブのオプションの名前。
モード 次のいずれかの値です。
  • Insert
  • 編集​​
  • ReadOnly
_挿入_を選択すると、送信時に、フォームが新しいレコードを挿入する必要があることを示します。 _編集_を指定すると、フォームが既存のレコードを編集する必要があることを示します。 _読み取り専用_を選択すると、フォームが既存のレコードの編集不可のフォームを表示することを示します。 _編集_および_読み取り専用_は、ソース レコードが存在し、ポータルにフォームが読み込まれるときに「レコード ソースの種類」および「レコード ID パラメーター名」フィールドで適切なレコードを選択する必要があります。
レコード ソースの種類 次のいずれかの値です。
  • クエリ文字列
  • 現在のポータル ユーザー
  • 関連付けを現在のポータル ユーザーにレコード
_クエリ文字列_を選択すると、フォームへの URL のクエリ文字で指定されるパラメーター名が必要です。 これは、[レコード ID パラメーター名] フィールドで指定できます。
_現在のポータル ユーザー_を選択すると、現在認証しているユーザーのポータル ユーザー レコードを取得します。
現在のポータル ユーザーに関連付けられたレコード を選択すると、現在の認証済みユーザーのポータル ユーザー レコードを取得して、次に '関連付けの名前' フィールドで指定された特定の関係のレコードを取得します。
レコード ID パラメーター名 この基本フォームを含む Web ページへの URL のクエリ文字列で指定されたパラメーターの名前。
関係の名前 [レコード ソースの種類] が [現在のポータル ユーザーに関連付けられたレコード] の場合は、必須です。 現在のポータル ユーザー レコードとターゲット レコードとの間の関連を示す論理名。 テーブル名フィールドで指定されているものと同じテーブルの種類を返す必要があります。
Null の場合に作成を許可 [レコード ソースの種類] が [現在のポータル ユーザーに関連付けられたレコード] のときに使用可能な任意のブール値。 関連レコードが存在しない場合は、ユーザーがそれを最初に作成できることを示します。それ以外の場合、フォームはデータ バインドを行う対象レコードを必要とするため、レコードがすでに存在しない場合は例外がスローされます。
メモ: この機能はマルチステップ フォームでは利用できません。
テーブルのアクセス許可を有効にする フォームがテーブルのアクセス許可に従うようにします。 既定は false で、下位互換性を目的としています。 true に設定した場合、フォームにアクセスする必要のあるユーザーには、明示的なアクセス許可が必要です。
メモ: フォームを保護するこの方法は、まもなく非推奨になります。 そのため、使用しないでください。 適切な テーブルのアクセス許可 と Web ロール設定を使用して、代わりにユーザーに任意のデータへのアクセスを提供します。 詳細情報: 新しいポータルのフォームとリストのテーブル権限の変更

フォームのオプション

名前 説明
画像文字の追加 画像文字を表示します。
認証されたユーザーに Captcha を表示する 認証されたユーザーに captcha を表示します。
検証グループ 名前付きグループの入力値が有効かどうか評価するために入力コントロールに割り当てるグループ名。
タブからステップを自動生成 基本フォームに複数のタブが表示され、各タブが、最初のタブからすべてのタブをナビゲーションするまでの連続した手順として表示され、最終の送信時にレコードが挿入されることを示します。 既定では選択されません。 既定値は現在のステップに対してひとつのタブやフォームのみが表示されることを示します。 タブ名が指定されない場合、最初のタブが表示されます。
Web リソース インラインの表示 基本フォームで Web リソースを含む iFrame を削除します。
ツールヒントが有効 ターゲット テーブルの属性の説明を使用して、ヒントを設定します。
サポートされていないフィールドの表示 サポートされていない Dataverse 列タイプの列名を表示または非表示にします。
推奨フィールドを必須として設定 [推奨項目] に設定されているフィールド入力要件レベルを持つ、必要なすべての属性を作成します。
すべてのフィールドを必須にする フィールドの入力要求レベルに関係なく、必要なすべてのフィールドが作成されます。
検証概要の CSS クラス 検証の概要に割り当てられた CSS クラス名。 既定値: 'validation-summary alert alert-error alert-block'
検証の概要のリンクを有効化 検証の概要で、エラーを含むフィールドにスクロールするようにアンカー リンクを表示するかどうかを示す、true または false のブール値です。 既定値は true です。
検証の概要のリンク テキスト 確認の概要のリンクに割り当てられるラベルです。 既定では、'click here' (ここをクリックしてください) です。
検証概要のヘッダー テキスト 確認の概要のヘッダーに割り当てられるラベルです。
手順 フォームで作業する手順
レコードが見つからない場合のメッセージ レコードが見つからないときに表示されるメッセージ。

成功時の設定

Name 説明
成功時 次のいずれかの値です。
  • 成功メッセージの表示 (既定)
  • リダイレクト
成功時にフォームを非表示にする 成功時の要求を、成功メッセージを表示に設定します。 選択すると、フォームの送信に成功するとフォームは非表示になります。
成功メッセージ 成功時の要求を、成功メッセージを表示に設定します。 送信の成功時にユーザーに表示されるメッセージ。 指定されていない場合は、既定のメッセージ (送信が正常に完了しました) が表示されます。 組織に対してインストールされ有効になっている各言語パックには、関連付けられた言語でフィールドにメッセージを入力できます。
外部 URL リダイレクトに、成功時のセットが必要です。 Web の外部リソースの URL を指定します。
または Web ページ リダイレクトに、成功時のセットが必要です。 現在の Web サイトから Web ページを選択します。
既存のクエリ文字列を追加 リダイレクトに、成功時のセットが必要です。 選択された場合、既存のクエリ文字列パラメーターがリダイレクト前にターゲット URL に追加されます。
クエリ文字列にレコード ID を追加 リダイレクトに、成功時のセットが必要です。 選択された場合、リダイレクトされる URL のクエリ文字列に、作成されたレコードが追加されます。
レコード ID パラメーター名 リダイレクトに、成功時のセットが必要です。 リダイレクトされる URL のクエリ文字列パラメーターの ID 名です。
ユーザー定義のクエリ文字列を追加 リダイレクトに、成功時のセットが必要です。 リダイレクト URL の既存のクエリ文字列に追加できるユーザー定義の文字列です。
属性値をクエリ文字列 - パラメーター名に追加 リダイレクトに、成功時のセットが必要です。 リダイレクト URL のクエリ文字列に追加されるターゲット テーブルの属性値に関連付ける、パラメーターに付与する名前です。
属性値をクエリ文字列 - 属性論理名に追加 リダイレクトに、成功時のセットが必要です。 リダイレクト URL のクエリ文字列に値を追加するためのターゲット テーブルの属性の論理名です。

[追加設定]

Name 説明
現在のポータル ユーザーを関連付け 現在ログインしているユーザーのレコードを、対象のテーブル レコードに関連付ける必要があることを示します。
ポータル ユーザー検索列 ポータル ユーザーを格納する対象テーブルの属性の論理名。
活動関係者である ポータル ユーザー検索列が活動関係者の種類であるかどうかを示すブール値。
ファイルの添付 選択すると、フォームの下部にファイル アップロードのコントロールを追加し、レコードにファイルを添付できるようにします。
: バージョン 9.2.2.x 以降のポータルは、ファイルを添付するのに基本フォーム上でテーブルのアクセス許可を有効にするを有効にする必要はありません。 ただし、選択した場合は、フォーム上でファイルの添付ボタンを表示できるよう、親テーブルと annotation テーブル上で適切な特権が付与されていること確認する必要があります。 Annotation テーブルには少なくとも作成および追加の特権があり、親テーブルには対応する AppendTo 特権が必要です。 作成フォームと更新フォームのどちらを使用しているかに応じて、フォームのシナリオを完了させるための 作成読む書く の各特権も必要になります。
添付ファイルの保存場所 オプション: メモの添付ファイル、Azure Blob Storage。 組織が Azure Storage を使用するように構成されている場合、この基本フォームにアップロードされたファイルをそこに保存することを選択できます。 それ以外の場合、ファイルはメモ添付ファイルとして保存されます。
複数ファイルの許可 ユーザーに複数のファイルをアップロードを許可するかを示すブール値。
引き受け 許可の属性は、ファイルのアップロード時にサーバーが許可するファイルの MIME タイプを指定します。 複数の値を指定するには、値をコンマで区切ります (例: audio/,video/,image/*)。
ラベル ファイル アップロード コントロールの隣に表示するテキスト。 組織に対してインストールされ有効になっている各言語パックには、関連付けられた言語でフィールドにメッセージを入力できます。
ファイルの添付が必要 続行するには必要なファイルの添付を作成します。
必須の場合のエラー メッセージ [必須] が true のときユーザーがファイルを添付しない場合に、フォームの検証時に表示されるメッセージ。 組織に対してインストールされ有効になっている各言語パックには、関連付けられた言語でフィールドにメッセージを入力できます。
ファイルを承認済みの種類に制限 承認フィールドで検証を強制します。 選択されない場合、承認属性はファイルのアップロード ダイアログの候補としてのみ使用されます。
ファイルの種類のエラー メッセージ 承認された種類のファイルに制限が true で、ユーザーが無効なファイルの種類をアップロードしようとした場合に、フォームの検証中に表示されるメッセージ。 組織に対してインストールされ有効になっている各言語パックには、関連付けられた言語でフィールドにメッセージを入力できます。
最大ファイル サイズ (KB 単位) アップロードされたファイルの最大許容サイズについて検証を強制します。
ファイル サイズのエラー メッセージ 最大ファイル サイズ (KB 単位) が true で、ユーザーが大きすぎるファイルをアップロードしようとした場合に、フォームの検証中に表示されるメッセージ。 組織に対してインストールされ有効になっている各言語パックには、関連付けられた言語でフィールドにメッセージを入力できます。
カスタム JavaScript ページの下部のフォームの閉じタグ要素の直前に追加される、JavaScript のカスタム ブロック。 テーブル フィールドの HTML の入力 ID は、属性の論理名に設定されます。 これにより、フィールドの選択、値の設定、または他のクライアント側の処理が jQuery で容易になります。
$(document).ready(function() { $("#address1_stateorprovince").val("Saskatchewan");});

関連付けられたテーブル参照

次のパラメーターは、フォーム保存時の関連付けられたテーブル参照の設定に関連します。

これにより、フォームで作成または更新される現在のレコードを対象レコードに関連付ける方法が提供されます。 これは、複数のテーブルの種類に対して複数の手順があり、実行結果のレコードを関連付けたい場合、または関連付けたいレコードの ID がクエリ文字列で渡されるページの場合に便利です。 たとえば、求人情報のリストのある人材募集ページがあり、それぞれに求人情報から応募フォームへの ID を含む応募リンクが付いているとします。それにより応募の作成時に求人情報がそのレコードに関連付けられます。

件名 内容
保存時にテーブル参照を設定 [はい] または [いいえ] です。 はいの値は、フォームの保存時に関連付けられたテーブル参照を割り当てることを示します。それ以外の場合、何も設定されません。
関連付け名 2 つのテーブルの種類の間の、特定の関連付けの関連付けの定義名。
テーブルの論理名 参照テーブルの論理名。
ターゲット検索の属性論理名 作成または更新する対象テーブル内の検索属性の論理名。
検索フィールドの入力 参照テーブルに関する検索をフォームで行う場合、この値をオンにすると、次の設定を使用して取得した値をフォームのフィールドに入力します。
ソースの種類 次のいずれかの値です。
  • クエリ文字列
    _クエリ文字列_を選択すると、フォームへの URL のクエリ文字で指定されるパラメーター名が必要です。 これは、クエリ文字列名フィールドで指定できます。 このパラメーターが主キーの場合、クエリ文字列では主キーですではいを選択します。それ以外の場合はいいえを選択し、クエリ属性の論理名フィールドで指定された、クエリを行う対象テーブルの属性の論理名を指定します。
  • 現在のポータル ユーザー
    現在のポータル ユーザーを選択すると、現在認証しているユーザーの担当者レコードを取得します。
参照テーブル ステップ その手順で作成または編集されたテーブルを取得し、現在の手順のレコードに関連付けるための、前の手順のマルチステップ フォームの手順レコード。
クエリ文字列名 マルチステップ フォームを含む Web ページへの URL のクエリ文字列で指定されたパラメーターの名前。
クエリ文字列が主キーである [はい] は、[クエリ文字列] の値が [主キー] の値であることを示します。 [いいえ] は、[クエリ文字列] の値が、[主キー] 以外の属性の種類であることを示しています。
クエリ属性の論理名 レコードを検索するための属性の論理名です。
ReadOnly の詳細を表示 参照レコードに関する読み取り専用の情報を表示するフォームをページの最上部に表示することを示します。 [フォーム名] が必要です。
フォーム名 読み取り専用の詳細を表示するのに使用する参照テーブルのフォームの名前。

基本フォームのアクションの構成

既定で基本フォームは既存のレコードの読み取りとアップロード、もしくは新規レコードの挿入を許可します。 ただし、基本フォームのレコードに対して、追加のアクションを簡単に有効にして構成することもできます (削除、有効化、無効化など)。 既定のラベル、サイズ、アクションが有効にな場合に表示されるその他の属性を上書きすることもできます。

これらの設定は基本フォームの追加設定セクションにあります。 既定では、基本設定だけが表示されます。 追加設定を表示するには、 詳細設定 を選択します。

個々のレコードに適用可能な操作の操作ボタンを追加することができ、適切な特権がテーブルのアクセス許可によって許可されているグリッドの各行に表示されます。 次のアクションがあります。

  • Delete キー
  • ワークフロー
  • 関連レコードの作成
  • アクティブ化
  • 非アクティブ化

これらのオプション の 1 つをクリックすると、その操作の構成領域が表示されます。 また、特定のテーブルには、テーブルごとに利用できる特殊な操作があります。

  • 営業案件の値の計算 (opportunity)
  • サポート案件の取り消しアクション (incident)
  • サポート案件のクローズ (resolve) アクション (incident)
  • 見積もりから受注への変換 (quote)
  • 受注から請求書への変換 (salesorder)
  • 営業案件から見積もりを生成 (opportunity)
  • 営業案件の失注アクション (opportunity)
  • 営業案件の受注アクション (opportunity)
  • サポート案件の再オープンアクション (incident)
  • 営業案件を保留にする (opportunity)

注意

業務プロセスに必要な特定の 状態状態コード 値が定義されているすぐに使用可能なテーブルに 有効化無効化 ボタンを追加するのではなく、ワークフローを作成することをお勧めします。 たとえば、インシデント (状態オプション), Opportunity(status options)、権利 (状態オプション)。

基本フォーム用の位置情報の構成

地図コントロールを表示するようフォームを構成し、地図上のピンとして既存の位置を表示するか、ユーザーが位置を指定する機能を提供できます。 物理的場所を追加する を参照してください。

位置フィールドに値を割り当てたりそこから値を取得したりするには、様々な位置フィールドの ID をフォームのマップ コントロールに伝えるための追加の構成が必要です。 基本フォーム レコードには、指定する必要のある、これらのフィールド マッピングを定義する構成セクションがあります。 フィールド名は、作成したスキーマによってそれぞれ異なります。

基本フォームの位置情報データ。

注意

  • 読み取り専用の基本フォームのアドレス フィールドは、位置情報が有効になっている場合、マップで置き換えられます。
  • マップは、フォームをモーダル ウィンドウに表示する場合にのみ表示されます。
  • 物理的場所セクションは、ドイツのソブリン クラウド環境では表示されません。 ユーザーが別のフォームを使用して物理的場所を有効にしている場合、ポータルでレンダリング中には表示されません。

要求の検証

リクエストの検証、バージョン1.1以降の ASP.NET の機能により、サーバーはエンコードされていないHTMLを含むコンテンツを受け入れなくなりました。 この機能は、クライアント スクリプト コードまたは HTML が気付かないうちにサーバに送信、保存され、他のユーザに提示されてしまう可能性のあるスクリプト インジェクション攻撃を防ぐために設計されています。 すべての入力データを検証し、必要に応じて HTML エンコードすることを推奨します。

既定では、ポータルで検証の要求が有効になっているため、基本フォームのフィールド内で HTML エンコードなしでスクリプト コードを入力した場合、次の一般的なエラーが発生します。

Found field(s) submitted with potentially dangerous value(s) such as HTML, or script. Please review the field value(s) and try again.

検証の要求を無効化するには、次の手順に従ってください。

  1. ポータルの構成 に移動し、 サイトの設定 を選択します。

  2. 新規を選択します。

  3. 名前に DisableValidationWebTemplate を入力してください。

  4. 適切な Web サイトのレコードを選択します。

  5. 値にはを入力します。 既定では、設定はとなっており、検証の要求が有効化されています。

  6. 適切な説明を入力します。

  7. 保存して閉じるを選択します。

注意事項

検証の要求が無効になっている場合は、コンテンツをページに送信できます。 コンテンツが適切にエンコード、または処理されていることを確認してください。

考慮事項

  • サイトでフォームを表示できるようにするには、基本フォーム を特定の Web サイト の Web ページに関連付ける必要があります。
  • 接続テーブルのサブグリッドは、基本フォームではサポートされていません。 フォーム デザイナーを使用して接続テーブルのサブグリッドを追加した場合、ポータルにフォームを表示させ、接続テーブルを使用すると、エラー メッセージが表示されます。
  • 重複フィールド、パーティ リスト フィールド、およびビジネス ルールは、基本的な形式ではサポートされていません。
  • フィールド レベルのコード コンポーネントは公開プレビューされており、フォームに追加できます。 詳細: モデル駆動型アプリのフィールドにコード コンポーネントを追加する
  • ビジネス ルールおよびクライアントAPIでは、読取り専用フォームのロックされたフィールドを有効化することができます。
  • 挿入モードで基本フォームを作成する場合は、ボタンの配置を変更したり、基本フォーム上部にアクション ボタンを配置したりすることはできません。
  • 検索コントロールをフォーム上のドロップダウン リストとして表示する場合は、関連するレコード フィルターは動作しません。
  • ポータル フォームのロールアップ列は、読み取り専用のはずですが、編集可能と表示される場合があります。 これらの列を読み取り専用のままにするには、モデル駆動型アプリ フォームで列に読み取り専用マークを付けます。

参照

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。