現在SkyVisualEditorの検索テンプレートでは、検索条件として
・主オブジェクトの項目
・主オブジェクトの親オブジェクトの項目(5階層まで)
が使用できます。
ですが、例えば「田中さんが取引先責任者である取引先を検索したい」というように、関連オブジェクトの項目で検索したいケースもあると思います。
そこで今回は「検索テンプレートで関連オブジェクトの項目を検索条件として指定する」方法をご紹介します。
といってもコードを書いたりする必要はありません。やり方は簡単で
- 関連オブジェクトにあたるオブジェクト(上記の例では取引先責任者)を主オブジェクトとした検索画面を作成する
- 検索結果には、主オブジェクトとして選択したオブジェクトの親オブジェクト(上記の例では取引先)の項目を配置する
これだけです。
ただし
・ある取引先に田中さんという取引先責任者が2人いる場合は検索結果にその取引先が2件出てしまう
・親オブジェクト(今回の例で言うと取引先)の項目の編集はできない
という欠点がありますのでご了承ください。
では実際に、上記の「田中さんが取引先責任者である取引先を検索」するケースでやってみましょう。
まずはレイアウトマネージャで 「テンプレート」検索画面を選び、オブジェクトに「取引先責任者」を選びます
検索条件に「姓」を指定します
検索結果の項目選択で「取引先ID」のツリーを開き
取引先の項目を選択します
(今回は「取引先名」「都道府県(請求先)」を選択します)
ついでに検索結果が正しいか確認できるように取引先責任者の氏名も配置します。
完了を押すと画面の出来上がりです。
あとは画面をデプロイし、デプロイ後の画面で検索条件を以下のように指定します
これで検索を実行すると「田中さんが取引先責任者である取引先」の一覧が表示されます。
以上です。
先に述べた欠点のため全てのケースにおいてこの方法が使えるわけではありませんが、条件にマッチするケースにおいてご活用いただければと思います。