セクション名として「ラベル」を表示するフォームレイアウトの設定Issue 目次 問題の特定フォームの仕組み ケース #1:単一のフォームセクションケース #2:複数のフォームセクション トラブルシューティングの方法 ケース #1:単一のフォームセクションケース #2:複数のフォームセクション 問題の特定 フォームを構成するときに、次の図に示すように、すべてのフィールドとフォームセクションが欠落することがあります。 このような状況が発生した場合は、フォームレイアウトに問題があり、対処する必要があります。 フォームの仕組み フォームは、次に示す複数のテーブル間のコラボレーションにより構成されます。 sys_ui_view – フォームが存在するビューのレコードを保持しますsys_ui_form – フォームに複数のフォームセクションがある場合のコンテナを保持しますsys_ui_form_section – セクションとその要素のコンテナですsys_ui_section – フォームのタブに表示されるフォームセクションですsys_ui_element - フォーム上のフィールドとの関係を保持します フォームレイアウトを構成すると、これらのテーブルはすべてバックエンドで更新され、加えられた変更が反映されます。 フォームの構築方法には、2 つの異なるユースケースがあります。次の図は、これらのテーブルがどのように連動しているかを示しており、その後に説明が続きます。 ケース #1:単一のフォームセクション 単一のフォームセクションを持つフォームの場合、ビューとセクションの関係は、フォームレコードやフォームセクションレコードを参照することなく、直接確立されます。セクション自体が複数の要素に関連付けられています。 多くの場合、ベースシステムのデフォルトビューであるビューがセクションに直接関連付けられます。このユースケースのセクションは、[キャプション] を含まず、その下に [タブ] やセクションの追加分割を伴わない傾向にあります。(注意:[セクション] を関連リストと混同しないようにしてください。関連リストは多くの場合、フォームの [関連リンク] の下にあります。) 単一のセクションはテーブルの名前を継承する傾向があります。次の例はそのサンプルです。 ケース #2:複数のフォームセクション 複数のフォームセクションを持つフォームでは、sys_ui_form と sys_ui_form_section の 2 つのテーブルがスキーマに加わります。sys_ui_form レコードはすべてのフォームセクションとそれに対応する要素の非表示のコンテナとして機能します。sys_ui_form_section セクションは [フォーム (Form)] レコードに含まれ、各セクションのコンテナとして機能します。 このスキーマにより、複数あり、変更プロセスを個別に繰り返すのが面倒な場合もある個々のビューで、同じ手順を繰り返すことなく、プラットフォーム全体でセクションを簡単に変更することができます。また、インスタンスがドメイン分離されている場合に、フォームセクションをドメイン分離する方法も提供します。 フォームとフォームセクションは、フォーム上に明示的に表示されないコンテナであることに注意してください。次の例は、このスキーマとその表示方法を示しています。 [フォームセクション] はタブをハイライトしていますが、これは中のセクションのコンテナを表しているだけで、セクションそのものではないことに注意してください。 トラブルシューティングの方法 トラブルシューティングを行うには、例で示されているブロックのどれが欠落しているかを特定し、問題が存在しない別のインスタンスからそのブロックを取り込んで置き換えます。 ケース #1:単一のフォームセクション 作業中のビューを特定します。 [システム UI (System UI)] > [ビュー] に移動します。 ステップ 1 で特定したビューのレコードを見つけて開きます。 関連レコードの [セクション] タブに移動し、影響を受けるセクションをテーブル名で検索します。 見つからない場合は、その問題に対処する必要があります。セクションが存在する別のインスタンスがある場合は、その XML ファイルをエクスポートして、影響を受ける環境にインポートすることができます。正しいフォームセクションがあることを確認するには、フォームに移動してブラウザの開発者ツールを起動し、要素セクションで ID が section_tab で始まる要素を探して sys_id を確認します。たとえば、section_tab.bfb81dc9c0a8000900127627db594210 のように、対応するセクションの sys_id が section_tab のテキストに続きます。 次の図はそのサンプルです。 他のインスタンスから XML ファイルをインポートします。 該当するものがない場合は、トラブルシューティングのため、カスタマーサポートにお問い合わせください。 インスタンスで cache.do を実行してインスタンスキャッシュをクリアし、変更を反映させます。 ケース #2:複数のフォームセクション 作業中のビューを特定します。 [システム UI (System UI)] > [ビュー] に移動します。 ステップ 1 で特定したビューのレコードを見つけて開きます。 関連レコードの [フォーム (Form)] タブに移動し、影響を受けるセクションをテーブル名で検索します。 見つからない場合は、その問題に対処する必要があります。セクションが存在する別のインスタンスがある場合は、その XML ファイルをエクスポートして、影響を受ける環境にインポートすることができます。 フォームが存在する場合は、レコードを開き、関連するすべてのフォームセクションレコードを確認し、フォームが存在することを確認します。 存在しない場合は、問題がないインスタンスからインポートします。欠落しているセクションの sys_id が、問題のないインスタンスと一致していることを確認します。他の欠落しているフォーム、フォームセクション、セクション、または要素について、この手順を繰り返します。 インスタンスで cache.do を実行してインスタンスキャッシュをクリアし、変更を反映させます。 次のビデオでは、複数のフォームセクションを修正する方法をライブで例示しています (音声付き)。 完了すると、フォームのレイアウトは通常の状態に戻り、従来の方法で構成できるようになります。