詳細フォームの構成

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:8分
  • アドミニストレーターは、フォームフォーカス、フォーム分割、派生フィールドなどの高度なフォーム機能を設定できます。

    タスクレコードの挿入オプションを許可する

    インシデントや変更要求などのタスクレコードでは、[挿入] および [挿入と維持] オプションはデフォルトで無効になっています。タスクレコードにこれらのオプションが表示されるようにシステムプロパティを設定することができます。

    始める前に

    必要なロール:admin

    手順

    1. 次のように移動する。 All (すべて) > システムプロパティ > UI Properties (UI プロパティ).
    2. [タスク派生テーブルで [挿入] および [挿入と維持] オプションの使用を許可します] (glide.ui.task.insert) プロパティを見つけます。
    3. チェックボックスをオンにすると、タスクのオプションが有効になり、オフにすると無効 (デフォルト) になります。
    4. [保存] をクリックします。

    最初のフィールドフォームのフォーカスを無効にする

    デフォルトでは、フォームの最初の書き込み可能なフィールドにフォーカスが設定されます。アドミニストレーターは、システムプロパティを使用してフォームのフォーカスを無効にし、スクリーンリーダーを使用するユーザーがフォームにアクセスしやすくできます。

    始める前に

    必要なロール:admin

    手順

    1. 次のように移動する。 All (すべて) > システムプロパティ > UI Properties (UI プロパティ).
    2. プロパティ glide.ui.focus_first_elementfalse に設定します。

    タスクの結果

    最初のフィールドのフォーカスを無効にすると、フォームでは代わりにページの最初の要素にフォーカスが設定されます。最初の書き込み可能な要素ではなく最初の要素にフォーカスを設定すると、スクリーンリーダーを使用するユーザーが、適切な位置からフォーム上のすべての要素を見つけることができるようになります。

    テンプレートバーを無効にする

    アドミニストレーターは、システムプロパティを作成してテーブルのテンプレートバーを無効にすることができます。

    始める前に

    必要なロール:admin

    このタスクについて

    テーブル固有のプロパティを作成して false に設定すると、指定したテーブルのレコードにテンプレートバーが表示されなくなります。

    手順

    1. sys_properties.list に移動します。
    2. 次の設定で「システムプロパティを追加する」を実行します。
      プロパティ
      名前 glide.ui.show_template_bar.<TABLENAME>
      タイプ True | False
      false
    3. [送信] をクリックします。

    Enter キーを使用したフォーム送信を無効にする

    デフォルトでは、単純な 1 行のテキストフィールド、選択リスト、またはブーリアンフィールドで Enter キーを押すと、フォームが送信されます。

    始める前に

    必要なロール:admin

    このタスクについて

    Enter キーでフォームを送信しない場合は、システム設定を使用してこの機能を非アクティブ化することができます。

    手順

    1. 左側のナビゲーションペインで、次を選択します ユーザー管理 (User Administration) > ユーザー設定.
    2. enter_submits_form 環境設定を選択します。
    3. 値を false に設定します。
    4. [更新] をクリックします。
      変更は、ログイン時またはセッションの作成時にユーザー設定が再ロードされるまで有効になりません。

    複数フォーム分割を有効にする

    フォーム分割を使用すると、フォーム上のフィールドを列に整理できます。アドミニストレーターは、フォーム分割を有効にするためにプロパティを追加する必要があります。

    始める前に

    必要なロール:admin

    このタスクについて

    図 : 1. 2 つのフォーム分割の構成
    2 つのフォーム分割の構成
    図 : 2. 2 つのフォーム分割があるフォームの例
    2 つのフォーム分割

    この方法でフィールドを整理し、ユーザーが小さなモバイルデバイスでフォームを表示している場合、最初の分割内のフィールドは、2 番目の分割内のフィールドの前に一覧表示されます。この例では、[資産管理番号][ステータス][シリアル番号][サブステート] フィールドが、それらの下にあるフィールドの前に一覧表示されます。フォームの上部にフォームにまたがる要素を作成することもできます。

    手順

    1. ナビゲーションフィルターに、「sys_properties.list」と入力します。
      システムプロパティ [sys_properties] テーブル内のプロパティの全リストが表示されます。
    2. プロパティが存在しない場合は、[新規] をクリックします。
    3. 以下の情報を入力します。
      オプション説明
      名前 glide.ui.form_multiple_splits
      説明 複数フォーム分割を有効にする
      タイプ True | False
      true
    4. フォームのコンテキストメニューアイコンをクリックして [保存] をクリックします。
      [カテゴリ] 関連リストが表示されます。
    5. [編集] をクリックし、 [UI][カテゴリリスト] に移動します。
    6. [保存] をクリックします。
      [システムプロパティ] フォームが再度開き、[UI プロパティ] ページに新しいプロパティが表示されます。

    必須フィールドを定義する

    フォームで必須のフォームフィールドを指定できます。このアクションにより、personalize_form ロールを持つユーザーが、フォームレイアウトを構成してフィールドを削除することができなくなります。

    始める前に

    必要なロール:admin

    Required Form Fields プラグインがアクティブになっている必要があります。

    このタスクについて

    フォームに必須フィールドが存在する場合、削除できるのはアドミニストレーターのみです。フォームを構成すると、必須フィールドはグレーで表示され、それらが必須であることを示すツールヒントが表示されます。必須フィールドは、必須フォームフィールド [sys_ui_element_required] テーブルで定義されます。

    この機能の想定されるユースケース (唯一ではありません) は、委任管理スキームの一部です。たとえば、personalize_form ロールを付与することでフォームを変更する権限を支社に付与しながら、ビジネスプロセス全体にとって重要な特定のフィールドの削除は許可しないようにできます。

    手順

    1. sys_properties.list に移動します。
    2. glide.ui.form.enforce_required_fields という名前のプロパティを見つけ、それが true に設定されていることを確認します。
    3. 次のように移動する。 システム UI > 必須フォームフィールド.
    4. [New] をクリックします。
    5. テーブルとフィールドを選択してから、[必須] チェックボックスをオンにします。
      次の例では、インシデントフォームの [簡単な説明] フィールドを必須に設定します。
      必須フォームフィールド
      後でこのフィールドを必須にしないことにした場合は、[必須] チェックボックスをオフにします。このアクションは、レコードを削除するよりも望ましい方法です。
    6. [送信] をクリックします。

    タスクの結果

    指定されたテーブルに拡張テーブルがある場合、必須フォームフィールドレコードはすべての拡張テーブルのフォームに適用されます。たとえば、アドミニストレーターがタスクテーブルで [簡単な説明] フィールドを必須として指定した場合、この設定はインシデントフォーム、変更要求フォーム、問題フォームなどに適用されます。

    拡張テーブルは、ベーステーブルの必須フォームフィールドルールを上書きできます。たとえば、タスクテーブルでは [簡単な説明] フィールドが必須であっても、インシデントテーブルでは必須ではない場合、インシデントを除くすべてのタスクテーブルで必須になります。

    派生フィールドのラベルタイプを制御する

    派生フィールドに表示されるラベルのタイプを構成できます。

    始める前に

    必要なロール:admin

    このタスクについて

    例として、インシデントレコードを参照するときに申請者のメールアドレスを表示する場合があります。メールアドレスはインシデントテーブルには保存されませんが、インシデントからユーザーテーブルへの申請者の参照をたどることによって取得されます。ラベルタイプを制御するには、システムプロパティを設定します。たとえば、インシデントメールアドレスのフィールドラベルは、次のいずれかの文字列にすることができます。

    • 申請者のメール (Caller Email)。このフィールドを申請者ユーザーレコードからのメールとして一意に識別する完全なラベルを表します。チケットが割り当てられているユーザーのメールアドレスを表示する場合、そのラベルは [メールにアサイン済み (Assigned to Email)] になります。
    • ターゲットフィールドのラベルであるメール 。たとえば、インシデントに割り当てられたユーザーのメールアドレスも表示している場合、このラベルはフォーム上で一意ではありません。しかし、通常、このフィールドをフォームに配置すると、フィールドが表すものが明白になります。
    図 : 3. 利用可能なテーブルフィールド
    利用可能なフィールド

    [申請者 (Caller)] フィールドを選択し、展開アイコンをクリックします。

    図 : 4. 申請者フィールド
    申請者フィールド

    [申請者] フィールドに関連付けられている利用可能なフィールドを選択します。

    手順

    1. 次のように移動する。 All (すべて) > システムプロパティ > システム.
    2. [すべてのフィールドに短いラベルを使用します (Use short labels for all fields)] を見つけます。たとえば、フォームに申請者のメールアドレスが存在する場合に、完全ラベルの「申請者のメール」プロパティ (glide.short.labels) ではなく、「メール」のようなラベルを使用します。
      デフォルト値は true です。これは、短いラベルがすべてのフォームで表示されることを意味します。
    3. フォームに完全なラベルを表示する場合は、チェックボックスをオフにします。
    4. [保存] をクリックします。