ja | en

モデル参照を行うタイミングで、関連するその他の項目を自動的に参照することができます。Wagby ではこれを「参照連動」と呼びます。

動作例

「顧客モデル」と「サポートモデル」を例に説明します。サポートモデルで「顧客名」を参照すると、それに関連する最新の「顧客会社名」が同時に表示されます。この方式によりデータの重複入力の手間がなくなり、かつ、常に最新のデータを参照することができます。

図1 関連項目を自動的に参照させる

図2に参照連動を設定したサポートモデルの新規登録画面を紹介します。
「検索...」ボタンから、顧客名を確定させます。(この詳細は「参照先モデルの参照>検索画面」のページで説明しています。)

図2 サポート新規登録画面

顧客名を確定させると会社名が自動設定されます。会社名項目は参照連動型として定義しています。

図3 顧客を確定させると会社名が自動設定される(参照連動)

定義方法

サポートモデルを図4のように定義しています。

図4 サポートモデルの定義

「顧客名」項目は、顧客モデルを参照しています。

図5 顧客名項目の定義

「顧客会社名」項目も、同じ顧客モデルを参照しています。連動する項目名「顧客名」が決まると、参照先モデル項目名「会社名」が定まる、としています。

図6 顧客会社名を参照連動として定義する
このように、Wagbyのモデルは「データベースに保持される情報」だけでなく「画面に表示される情報」も含めることができます。

データベースとの関係

参照連動項目は標準ではデータベースに保存されません。(テーブルにもカラムが生成されません。)

参照連動を設定すると、データベース保存設定は自動的に解除されます。表示のタイミングで、データベースから最新の値を取得します。

(保存できるように設定することもできます。詳細は「参照連動項目を自モデルに保存する」「参照連動項目を参照先モデルに保存する」をお読みください。)

図7 参照連動を設定すると、データベース保存設定は自動的に解除される

自動的に読み込み専用になる

参照連動項目は自動的に「読み込み専用」となります。

図8 参照連動項目を選択すると、読み込み専用設定が自動的に行われる

検索時の動作

参照連動が数珠つなぎになっている場合でも、検索することができます。

参照連動 > 参照連動 > 参照連動 > 文字列型項目
参照連動 > 参照連動 > モデル参照(検索画面)

などのパターンで検索できます。

参照先項目がテキストエリアの場合

参照先項目が文字列型(テキストエリア)の場合、これを参照連動した場合は次のようになります。

  • 登録・更新・詳細・一覧画面では、テキストエリア(読み取り専用)で表示されます。
  • 参照連動にて「出力制御>テキストエリア>ラベルで表示する」を有効にすると、詳細画面ではテキストエリアにしない、という設定を行うことができます。

設計上の留意点

参照元項目(上記例ではサポートモデルの顧客名)が "DB保存なし" の場合、参照連動は機能しません。

参照連動型項目に、次の設定を行うことはできません。

  • 参照元項目(上記例ではサポートモデルの顧客会社名)が繰り返し項目である。
  • 参照元項目が繰り返しコンテナで、参照先項目(上記例では顧客モデルの顧客会社名)が繰り返し項目である。
  • 参照先項目(上記例では顧客モデルの顧客会社名)が繰り返しコンテナ内にある。
  • データ指定項目(上記例ではサポートモデルの顧客名)に下記以外を指定すること。
    • 項目の型が「参照先モデルの項目参照(リストボックス)」
    • 項目の型が「参照先モデルの項目参照(ラジオボタン)」
    • 項目の型が「参照先モデルの項目参照(検索画面)」
    • 外部キー項目
図9 参照連動として指定できる項目と、指定できない項目

参照連動項目をデータベースに保存する設定を行うこともできます。

動作例

図10は、参照連動項目「顧客会社名」をサポートモデルで保存可能とした例です。参照連動された値を修正して保存することができます。

図10 参照連動項目を修正して保存する

定義方法

サポートモデルの「顧客会社名」項目の詳細定義ダイアログを開きます。「詳細>データベースの詳細」で、「値をデータベースに保存する」を有効とします。さらに、参照モデルの格納先を「自モデル」とします。

図11 参照連動項目の値をデータベースに保存する設定

また、入力できるようにするため、読み込み専用の設定を解除します。

図12 読み込み専用設定を解除する

データベースとの関係

保存後の値は、顧客モデルの顧客会社名と切り離されて管理されます。その後、顧客モデルの変更が発生した場合でも、サポートモデル側に反映されることはありません。
図13 自モデル格納のイメージ

動作例

図14は、参照連動項目「顧客会社名」をサポートモデルで保存可能とした例です。修正した値は、参照先である「顧客」モデルに反映されます。

図14 参照連動項目を修正して保存する

(参照先である)顧客モデルが修正されています。

図15 参照先モデルの項目が修正されている

定義方法

サポートモデルの「顧客会社名」項目の詳細定義ダイアログを開きます。「詳細>データベースの詳細」で、「値をデータベースに保存する」を有効とします。さらに、参照モデルの格納先を「参照先のモデル」とします。

図16 参照連動項目の値をデータベースに保存する設定(参照先モデル)

また、入力できるようにするため、読み込み専用の設定を解除します。

図17 読み込み専用設定を解除する

データベースとの関係

この設定は「トランザクション」として処理されます。複数のモデルを更新し、データベースにコミットされます。
図18 参照先モデル格納のイメージ

参照連動自モデル(または他モデル)保存項目の入力フィルタは次のルールとなります。

フィルタ指定を空白とする フィルタを指定する
参照先項目と同じフィルタが使われます。 指定したフィルタが使われます。
R7.10より前のバージョンでは、常に参照先項目と同じフィルタが使われます。(フィルタを指定しても無視されます。)

動作例

検索条件に参照連動の値を表示させることができます。検索項目としては機能しませんので、確認用という位置づけになります。

図19 検索条件に参照連動の値を表示する

定義方法

サポートモデル定義の全体を図20に示します。「顧客名」と「会社名」は顧客モデルを参照しており、かつ「会社名」は参照連動項目で、検索条件を有効にしています。

図20 サポートモデルの定義

会社名項目について、「検索制御>読み込み専用にする」を有効にします。

図21 読み込み専用の設定

制約

本機能は、次の検索画面には適用されません。

  • カレンダビュー
  • CSV・Excel ダウンロード

[応用] 固定メッセージの選択・追加による入力方式の実現をお読みください。

ja | en