子モデルの同時更新
最終更新日: 2022年4月12日
「見積」モデルと「見積明細」モデルを例として扱います。
子モデル同時更新の設定はすべて(子モデルとなる)見積明細モデルで行います。
見積明細モデルで、外部キーとなる「見積ID」を含めます。
「見積ID」は検索で利用する、を有効にします。
「見積-見積明細」関係では、見積明細からみた見積(親)を付け替えるような操作は(通常の業務では)ありません。そのため外部キー項目「見積ID」はモデル参照型ではなく(親の見積モデルのID値をそのまま保持する)数値型としています。
また、この理由から、見積IDは読み込み専用(編集させない)とし、かつ、画面にも表示させないように隠し項目としています。
見積明細モデルの「一覧更新画面」を作成します。
見積明細モデルの「検索・一覧画面」で用意される「登録」ボタンを非表示とします。見積明細の追加は、常に見積モデルの登録・更新にあわせて行う、という意図です。
親である見積モデルの詳細画面に用意される「見積明細 新規登録」ボタンを非表示とします。上と同様に、見積明細の追加は、常に見積モデルの登録・更新にあわせて行う、という意図です。
見積明細に関するボタンはメニューから消去します。見積明細の単独の操作を行わせないようにします。
「外部キーの同時更新機能 > 初期表示数」を指定すると、親モデル(ここでは見積モデル)の新規登録画面を開いたときに、子モデル(ここでは見積明細モデル)の入力行を用意することができます。
親子モデル同時更新画面の子モデル一覧更新にページングを設定できます。
この設定を有効にすることで、子モデルのデータ量が多い時のパフォーマンス向上につながります。
動作例
1つの見積伝票にはN件の明細が紐づいています。このとき、見積モデルの更新画面で(紐づいている)N 件の明細を同時に更新することができます。
設定方法
あわせて一覧更新画面の設定欄に用意されている、外部キーの同時更新機能を有効にします。(標準では有効になっています。)
メニュー
登録画面で最初からN行の入力欄を用意する
子モデルデータのページング表示
例
設定方法
仕様・制約
関連するページ