外部キー子モデルおよび繰り返しコンテナを親モデルのタブにまとめる

最終更新日: 2022年8月26日
R8 | R9

外部キー子モデル

親モデルを「顧客」とし、子モデル「サポート」を用意した例で説明します。図1は、標準の画面レイアウトです。親モデル(顧客)は、タブを使って複数の項目をまとめています。子モデル(サポート)は親モデルの下部に表示されます。

図1 親子モデル同時更新画面の、標準のレイアウト

ここで紹介する「タブをまとめる」設定を行うと、下図のように親モデル側のタブにまとめて表示することができます。

図2 子モデルのタブを、親モデルにまとめる(1)
図3 子モデルのタブを、親モデルにまとめる(2)

ここで子モデルは一覧更新画面を有効にしています。詳細は "親子関係 > 子モデルの同時更新" をお読みください。

定義方法 - 親

親モデル(顧客)の項目群にレイアウト名を定義します。

図4 レイアウト名を設定する

このレイアウトを「タブ」とします。さらに「タブ番号」を次のようにします。

タブ番号:表示位置
  • タブ番号は「1」から開始します。
  • 後述する外部キー子モデルや繰り返しコンテナをタブにまとめる場合、対象となるタブ番号は「1」のみとなります。
  • タブ番号および表示位置は、1から開始し、連続する値としてください。飛び番号などは許容されません。
図5 タブ番号の設定

定義方法 - 子

子モデル(サポート)では「画面 > 検索・一覧表示」タブ内の「外部キー連携」の設定欄で「タブレイアウト」を選択し、「タブの表示位置」に次の値を指定します。

親モデルID:タブ番号("1"で固定):位置

この例では customer:1:3 と記述しています。これにより親モデルID customer の、3番目のタブ位置に配置されます。

親のタブ番号は「1」を指定してください。複数のタグブループがあった場合でも、最初のタブグループのみを対象とします。
この例では、親のタブは2つしかないため、3番目 = 末尾のタブ、となります。
図6 子モデルにおけるタブ表示位置の指定

複数の親と紐づく場合

一つの子に複数の親を紐づける設定を行なった場合、次のようにコンマで区切って指定することができます。

親モデルID:1:位置,親モデルID:1:位置,...

タブの表示位置を変える

上の例で、customer:1 とすると、タブの先頭に子モデルが配置されます。

図7 タブ位置を先頭にする

画面イメージは次のとおりです。

図8 タブ位置を先頭にした例

繰り返しコンテナ

「顧客」モデルに、繰り返しコンテナ「趣味」を用意してみます。このコンテナのタブ表示をまとめた例を示します。

図9 繰り返しコンテナ「趣味」タブをまとめた例(1)
図10 繰り返しコンテナ「趣味」タブをまとめた例(2)

定義方法

繰り返しコンテナのレイアウト名を、繰り返しコンテナ名と同じにします。

図11 レイアウト名を、繰り返しコンテナ名とする

各レイアウトを「タブ」とし、タブ番号を1とします。コロンのあとに、表示位置を指定します。

図12 タブ番号の設定

外部キー子モデルと繰り返しコンテナ

これまでの例を一つの定義にまとめてみます。「顧客」モデルの繰り返しコンテナ「趣味」と、子モデル「サポート」をすべてタブにまとめることができます。

図13 外部キー子モデルと繰り返しコンテナをまとめて一つのタブにする(1)
図14 外部キー子モデルと繰り返しコンテナをまとめて一つのタブにする(2)
図15 外部キー子モデルと繰り返しコンテナをまとめて一つのタブにする(3)
図16 外部キー子モデルと繰り返しコンテナをまとめて一つのタブにする(4)

定義方法

親モデル(顧客)のレイアウトは、図12と同じです。

図17 親モデルの設定-タブ番号

子モデル(サポート)は、図6と同じです。(ここでは表示位置を4としています。)

図18 子モデルの設定-タブ表示位置

仕様・制約

  • 繰り返しコンテナまたは外部キーをタブに含めるための、ベースとなるタブが必要です。本マニュアルにおける図1の "基本情報","その他" タブに相当するものです。ベースとなるタブがない状態ではレイアウトができません。
  • 上のベースタブを含め、タブは2つ以上、用意するようにしてください。(タブ1つのみ、というレイアウトには対応していません。)
  • タブの中に通常項目と繰り返しコンテナを含める設定と併用することはできません。つまり、レイアウト名に "[*T:コンテナ名]" という記述を行うことはできません。
  • 四角で囲むレイアウトとタブレイアウトを混在させることはできません。例えば図17の設定で "基本情報" のレイアウトを「四角で囲む」とし、それ以外を「タブ」とすることはできません。
  • 外部キー子モデルの一覧更新機能を用いて、親モデルの登録・更新画面で同時に外部キー子モデルも更新させる場合、親モデルで確認画面を有効にすることはできません。
  • 繰り返しコンテナをタブに含める場合、その繰り返しコンテナのあとに、タブに入る項目がないようにしてください。「リポジトリ>レイアウト名」の「表示順」を確認してください。次の例は同じタブレイアウトに含める意図ですが、コンテナのあとにタブに入る項目があるので正しくレイアウトされません。
項目名レイアウト名表示順
項目1タブ1
項目2タブ2
コンテナコンテナ3
コンテナ内項目3コンテナ4
項目4タブ5エラー