2017.05.23

検索テンプレートで関連オブジェクトの項目を検索条件として使用するには

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

現在SkyVisualEditorの検索テンプレートでは、検索条件として
・主オブジェクトの項目
・主オブジェクトの親オブジェクトの項目(5階層まで)
が使用できます。

ですが、例えば「田中さんが取引先責任者である取引先を検索したい」というように、関連オブジェクトの項目で検索したいケースもあると思います。

ERzu

 
そこで今回は「検索テンプレートで関連オブジェクトの項目を検索条件として指定する」方法をご紹介します。

といってもコードを書いたりする必要はありません。やり方は簡単で

  1. 関連オブジェクトにあたるオブジェクト(上記の例では取引先責任者)を主オブジェクトとした検索画面を作成する
  2. 検索結果には、主オブジェクトとして選択したオブジェクトの親オブジェクト(上記の例では取引先)の項目を配置する

これだけです。 

ただし
・ある取引先に田中さんという取引先責任者が2人いる場合は検索結果にその取引先が2件出てしまう
・親オブジェクト(今回の例で言うと取引先)の項目の編集はできない
という欠点がありますのでご了承ください。

では実際に、上記の「田中さんが取引先責任者である取引先を検索」するケースでやってみましょう。

まずはレイアウトマネージャで 「テンプレート」検索画面を選び、オブジェクトに「取引先責任者」を選びます

LayoutManager

 

検索条件に「姓」を指定します

sei

 

検索結果の項目選択で「取引先ID」のツリーを開き

treeComment

treeOpen

 

取引先の項目を選択します
(今回は「取引先名」「都道府県(請求先)」を選択します)

oyaFields

 

ついでに検索結果が正しいか確認できるように取引先責任者の氏名も配置します。

seimei

完了を押すと画面の出来上がりです。


あとは画面をデプロイし、デプロイ後の画面で検索条件を以下のように指定します

jouken

 

これで検索を実行すると「田中さんが取引先責任者である取引先」の一覧が表示されます。

kekka

以上です。

先に述べた欠点のため全てのケースにおいてこの方法が使えるわけではありませんが、条件にマッチするケースにおいてご活用いただければと思います。

1 件

関連する記事