rex0220 ルックアップ選択条件プラグイン

kintone のルックアップの標準機能だといちいちフィルター機能を開いて、項目を選択し、
条件と値を指定しなければなりません。
これが日に何度も入力するとなると、うんざりするだけでなく時間の無駄です。
そこで、アプリ内の項目を使って、ルックアップの表示を絞り込むプラグインを作成しました。
ルックアップ選択画面は、プラグイン独自のものになります。

**強力な検索機能**

- アプリ内の項目の値で、ルックアップの表示を絞り込む
- ルックアップアプリのサブテーブル内の項目を指定可能
- ルックアップアプリの関連レコード内の項目を指定可能
- サブテーブル内のルックアップ項目は、同一行の別項目の値で検索指定可能
- 表示データの絞り込み機能
- PC・モバイル対応

・他プラグインへの影響
　・文字検索プラグイン Ver.18 以降に対応
　・一括更新プラグイン Ver.6 以降に対応
　・ルックアップ選択条件プラグイン Ver.30 以降に対応
　・選択式ルックアップテーブルプラグイン Ver.1 以降に対応

標準のルックアップでは、指定できないサブテーブル、関連テーブルの項目を指定できます。

※ Ver.33
・ページネーション機能を追加
　プラグイン設定画面で、ページネーションのチェック項目を追加
　ページネーション有効の場合、グリッド表示でページネーション表示
　ページネーション有効の場合、グリッド表示で添付ファイル項目の画像表示
・グリッド表示で、横幅より長い文字列を折り返し表示に変更
・プラグイン設定画面の項目幅指定を項目別指定に変更

※ Ver.32
・プラグイン設定画面のデザイン変更対応
・プラグイン設定に、「説明」設定機能を追加
・作業者の表示に対応

[rex0220 STORES](https://rex0220.stores.jp)

# ルックアップ選択条件プラグインの画面

PC表示

<img width="1293" alt="2020-01-23_13h44_48.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/a9de27ff-708b-56bd-3e44-d919c3ef0e7f.png">


モバイル表示
<img width="655" alt="2020-01-23_16h44_27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/9502554b-99cf-cc7e-b993-77d94354bdb3.png">



使い方としては、あらかじめ別の項目に指定条件の値を指定してから、ルックアップの取得ボタンをクリックすることになります。

この例では、項目に顧客ランクを指定して、ルックアップ選択画面を表示しています。

# 選択画面

<img width="1128" alt="2020-01-23_13h45_12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/280566c8-6e39-9ab4-f7d4-785345edbf79.png">

プラグインの選択画面は、標準ルックアップの抽出条件とプラグインの条件を
AND指定した結果となります。（メッセージ欄に表示される条件は、プラグイン指定のみ）
表示項目・表示順は、標準のルックアップ設定で指定されたものです。

対象行をクリックすると、レコードを選択できます。

ルックアップの標準機能にあるフィルターボタンはありません。
その代わり、文字検索によるフィルター機能があります。

# 文字検索
上部のテキストエリアに、検索文字を入れると対象レコードを絞り込めます。

「大阪」でレコードを絞り込んだ例

<img width="1128" alt="2020-01-23_15h13_18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/b746ec9b-867d-bed2-e38e-eb4a85e7fb56.png">


# 選択後の表示画面

<img width="1128" alt="2020-01-23_15h20_15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/bc00ce35-007f-4cde-ab23-04555146e8bd.png">


ルックアップで選択後、コピー項目への反映と取得メッセージが表示されます。
通常のルックアップ処理と同様です。

# 複数の選択項目

複数の検索項目も指定できます。
顧客ランクと関連レコードの問合せ履歴を指定した例です。


<img width="798" alt="2020-01-23_15h22_29.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/39508ace-a392-1b68-d531-9402c63b4e4b.png">


# 複数の検索項目の選択画面

プラグインの選択画面には、指定された抽出条件が表示されます。
表示項目・表示順は、標準のルックアップ設定で指定されたものです。

<img width="1106" alt="2020-01-23_15h28_41.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/9fb7dc32-46a4-0ea8-f90d-8efc02f5a1d2.png">



# ルックアップアプリのサブテーブル内項目

標準のルックアップでは、指定できないサブテーブル項目を指定できます。
サブテーブルのサマリ情報をアプリ内に持たなくても、データの有無を検索できます。

サブテーブル内項目を抽出条件に表示した選択画面例
（サブテーブル項目の支社情報から抽出）

<img width="759" alt="2020-01-23_15h34_17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/1acf15c2-9ac0-5e2c-698f-b8f7ab1a46cd.png">



# ルックアップアプリの関連テーブル内項目

標準のルックアップでは、指定できない関連テーブル項目を指定できます。
ルックアップ選択のためだけに他アプリからデータをコピーして保持しなくても済みます。


関連テーブル内項目を抽出条件に表示した選択画面例
（関連テーブルの問合せ履歴がある顧客を抽出）

関連テーブルの項目は、「関連テーブル名.項目名」で表示されます。

<img width="745" alt="2020-01-23_15h46_08.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/12b07aff-9751-e944-74e4-63e8a04def8f.png">



# サブテーブルのルックアップ選択画面

サブテーブルのルックアップも対応しています。
**サブテーブル内の同じ行の項目を選択条件として、指定できます。**

![lookup06.png](https://qiita-image-store.s3.amazonaws.com/0/100572/57344426-02ab-f2c2-9414-9bbd44ab1775.png)

**サブテーブル内の同じ行の項目を指定した例**
（同一行内の「サービス種別」で抽出）

<img width="1128" alt="2020-01-23_15h49_57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/bafa02fa-31e6-7780-e9f0-25d82d3f924f.png">

## ページネーション表示

100件/1ページで、対象レコードを表示します。
グリッドのフッター部にページ制御を表示します。

![2024-10-28_22h58_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/20be6122-ecd7-43f5-39eb-6d0c3a0a0b96.png)

## ページネーション表示で、画像表示

ページネーション表示指定時は、添付ファイル項目の画像を表示します。

![2024-10-28_23h01_43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/b02a60e1-bfef-9bbc-37f2-83e81ff77495.png)


# ルックアップ選択条件・プラグインの追加

対象アプリのプラグイン管理画面で、ルックアップ選択条件プラグインを追加します。

![2024-10-28_23h04_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/af5afc2f-c3d4-f227-efd9-77040973f387.png)


# ルックアップ選択条件・プラグインの設定

設定画面を開くとルックアップ項目が表示されますので、設定対象にする項目をチェックし、条件を追加編集後、「保存する」ボタンをクリックします。

- 取得件数：　対象レコードの取得件数
- ページネーション：　１００レコード/ 1ページで表示
- 画像サイズ：　画像表示時のサイズ指定


![2024-10-28_23h06_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/c19bd3c7-4738-ee01-cf62-3562f5e223e3.png)

# ルックアップ選択条件の設定

編集画面を開き、ルックアップAPPの項目と、条件、アプリ内項目を指定します。
条件を追加編集後、「保存する」ボタンをクリックします。

![2024-10-28_23h08_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/7e9fa2ee-1915-acbe-51c1-3c4928f5e700.png)

# 項目の指定方法

「追加」ボタンで入力行を追加し、ルックアップAPPの項目と条件・アプリ内項目を指定します。
「項目名: フィールドコード」の形式で指定します。

条件を追加編集後、「保存する」ボタンをクリックします。

![2024-10-28_23h26_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/67119202-dee3-4038-8eb9-56bcd539c891.png)


# 項目の一覧表示と絞り込み

- 入力エリアをクリックすると、項目が一覧表示されます
- 上下キー↑↓で、選択項目を変更可能です
- 項目名の一部を入力すると、フィルター機能により表示項目が絞り込めます
- 必ず、項目を選択後にタブまたはエンターキーで入力を確定します
- ルックアップアプリの項目を指定すると、条件・指定項目に指定できる値が設定されます

![2024-10-28_23h27_43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/694cd4b5-5fbd-61f6-023b-d535e6454c86.png)

# 条件指定

条件の選択の表示例
項目のタイプにより、指定できる条件が設定されます。
条件の入力エリアをクリックすると一覧が表示されます。

ルックアップアプリの項目がドロップダウンの場合、「in」、「not in」が指定できます。

![2024-10-28_23h28_59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/53b0de89-c1f6-f9dc-8f89-7059038cc23a.png)


# 指定項目の指定例

- ルックアップ項目に指定できるタイプの項目が表示されます
- サブテーブル内のルックアップ項目の場合、同じサブテーブル内の項目も表示されます
- ルックアップ項目と同じ行の項目値が検索時に使用されます

![2024-10-28_23h30_35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/91ed9174-560c-5677-1d2f-74bfb37b41f6.png)


# 項目幅の設定
ルックアップ選択画面に表示される項目は、ルックアップ標準機能で指定された表示項目です。
各項目幅をカンマ区切りで、指定します。

![2024-10-28_23h32_23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/619f533b-b496-4b0e-a65c-07fe60469549.png)


# 注意事項

- 既に、JavaScript によるカスタマイズを行っているアプリの場合、処理が競合して、エラーになる場合があります。その場合は、該当するアプリでプラグインの使用を中止してください。
- ルックアップアプリおよび対象アプリのフォームを変更した場合は、フォーム変更を本番環境に反映後に、プラグインを再設定してください。
- ルックアップ項目がレコード番号以外の場合、参照されるアプリで「値の重複を禁止する」が設定されている必要があります。指定が無い場合、下記のようなエラー表示となります。<br>
※エラー表示となってもプラグイン設定は可能ですが、プラグインでルックアップ取得後にkintone 標準のルックアップ選択画面が表示される場合があります。

<img width="952" alt="2019-03-01_03h49_11.png" src="https://qiita-image-store.s3.amazonaws.com/0/100572/e57f8f69-4ba6-1803-e381-5caadbf338b4.png">

- IE11 でご利用時に追加編集画面の「保存」時に必須項目等のエラーが発生した場合、エラーメッセージに「(項目名を表示できません)」が表示されます。