rex0220 選択式ルックアップテーブルプラグイン

プラグイン独自のルックアップで複数レコードを選択してテーブルに追加するプラグインです。
複数テーブル、添付ファイルのコピーができます。

# 選択式ルックアップテーブルプラグインの特徴

・プラグイン独自のルックアップで複数レコードを選択して、テーブル項目に追加
・複数のテーブルをコピー可能
・計算式でコピー項目の値を変換可能
・添付ファイル項目をコピー可能
・ヘッダー部またはスペース項目に取得ボタンを表示
・計算式プラグインと自動連係
・３ヶ国語対応
・PC のみ対応

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

Ver.10
・プラグイン設定で、関連レコード情報取得時エラーの対応
・FSIZE 関数追加。バイト数を適切な単位（B, KB, MB など）に変換し、カンマ区切り付きでフォーマット
　FSIZE(5000000) -> "4.8 MB"
・FILE 関数追加。添付ファイル項目の値を取得
　※イベントの種類により取得可能(追加・編集中のイベントでは取得不可)
　FILE(file, "key", 0) -> "nn.."
・FVAL, FIELDS_HTML 等の関数追加

# 選択式ルックアップテーブルプラグインの概要

- ボタンクリックで、指定した条件で対象レコードを絞り込み、ダイアログ表示
- 選択したい行をクリックすると、チェックされる
- 「追加」ボタンをクリックすると、テーブル行が追加される

![2024-03-01_22h45_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/ebbd1a58-edc0-9c89-7e45-c3da4f61b63f.png)

# 操作例

- レコードの選択と並べ替え
![2024-03-01_23h50_16.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/aacdc1e3-c040-528f-ebae-72c5dbaf2e69.gif)

- 添付ファイルのコピー例
![2024-03-01_23h54_26.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/4e3fb2a0-7326-c803-600f-974b17f90b36.gif)

# ダイアログの表示

レコード行をクリックすると選択チェックボックスがチェックされます。
行をドラッグして位置を変更できます。
項目のヘッダー部をクリックすると、その項目の値で並べ替えします。

- アプリ名
- レコードの取得条件
- 選択：　チェックすると、選択行のみ表示
- 検索：　指定した文字列を含む行のみ表示

![2024-03-01_23h57_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/0076a127-39e4-f981-5ed8-77c78fb962fd.png)


# アプリの事前設定

- 検索用項目を追加
- ボタン設定用スペース項目追加（要素IDを設定）
- テーブルに文字列項目で「識別ID」を追加
- テーブルに文字列項目で「ファイル識別ID」を追加　※ファイル添付項目をコピー時

![2024-03-01_23h06_52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/995f7d7d-91c6-218c-8f96-eccd31f535e8.png)

# プラグインの追加

- 「kintone システム管理 > プラグイン」で追加
- 「アプリの設定 > プラグイン」で、アプリに追加

# プラグインの設定

- NOTE：　メモ用
- プラグイン有効：　プラグインの有効・無効を指定
- 行制御：　設定行の複写・追加・削除を行う場合に、チェック
- ページネーション：　グリッド表示でページネーション表示
- 画像サイズ [px]：　ページネーション表示時、画像ファイルの表示サイズ
- 取得件数：　ダイアログ表示時に取得する最大レコード数を指定
- ボタン名：　ボタン名、表示条件の設定
- アプリ：　対象アプリを指定
- 対象アプリ条件：　取得条件を指定
- 表示項目：　ダイアログ表示で表示する項目を指定
- テーブル項目：　設定するテーブルとテーブル内項目を指定
- 反映：　レコード更新時、集計元レコードに反映する項目を指定
- 運用環境に反映：　「保存する」ボタンクリック時に直接運用環境へ反映
- 「保存」：プラグイン設定を保存
- 「キャンセル」：　プラグイン設定をキャンセル
- プラグイン設定ダウンロード
- プラグイン設定アップロード
- プラグイン設定更新情報

![2024-10-25_16h50_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/74837834-7c6f-5c49-cb9f-321b80f39950.png)

## 行制御

設定行の複写・追加・削除を行います。

![2024-03-01_23h21_44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/29e98bc8-bd4c-e8fd-6489-18d756c7713d.png)

## ボタン名

- 表示条件：　計算式でボタンを表示する条件を指定
- デフォルト、英語、日本語、中国語：　ボタン名を指定

![2024-03-01_23h24_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/48781baf-7a6c-39ea-2415-1ca0e43bbeb1.png)

- 表示条件
    - 計算結果が true の場合、ボタン表示。false で非表示
    - 計算式設定例
        - 1 : ボタン表示
        - 0 : ボタン非表示
        - 分類 : ドロップダウン「分類」を選択時に表示

## アプリ

アプリの編集エリアをダブルクリックすると、アプリの選択肢が表示される

![2024-03-01_23h26_41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/87ca6e8e-7b8a-ff91-8287-32cba0f558a9.png)

## 対象アプリ条件

- OR条件の位置：　AND 条件と OR条件の組合せで取得条件を設定する
- 選択済みレコードを除く：　ダイアログ表示時にテーブル選択済みレコードを除く
    - テーブル項目で、識別IDの設定が必要
- 空条件：　条件値が空文字の場合、取得条件に指定する場合チェック
- 参照アプリの項目：　取得条件の項目
- タイプ：　取得条件の項目のタイプ
- 条件：　=, in 等を指定
- 条件値：　計算式で条件値を指定

![2024-03-01_23h29_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/5606c2ce-e4f9-0450-54e1-a53dcd32883c.png)

## 表示項目

- 選択：　チェックで有効
- 項目
- width
- ソート

![2024-03-01_23h36_27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/82d2e78d-2d16-4dbf-5432-0953000551c9.png)

## テーブル項目

- Table: テーブルを指定
- 「行追加ボタンを非表示」
- 「行削除ボタンを非表示」
- 「クリア」：　設定内容をクリアする
- 「自動設定」：　コピー先と同じフィールドコード・タイプの項目を自動設定する
- コピー先項目
- タイプ
- 選択：　チェックで有効
- 識別ID：　レコードを識別するための項目
- ファイル制御ID：　ファイル添付項目を処理するための項目
- 編集可
- 項目（計算式）

![2024-06-22_17h27_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/529d25bf-8b2c-5299-eb92-f3750146f9a2.png)

- ファイル添付項目がある設定例

![2024-06-22_17h28_57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/1b05b512-b043-0472-713d-0d6022e82c3d.png)

## 反映

反映機能を利用する場合、テーブル項目設定で「識別ID」の指定が必要です。

- レコード更新時反映条件：　計算式で反映条件を指定
- 反映先項目：　集計元レコードの項目を指定
- 項目（計算式）：　反映先項目に設定する計算式を指定

![2024-04-02_16h49_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/734ef98d-778c-6702-120e-2bb19eed8647.png)


# 利用ライブラリ
・jQuery MITライセンス
・jQuery-UI MITライセンス
・momentjs  MITライセンス
・sweetalert2 MITライセンス
・FileSaver  MITライセンス
・zlib MITライセンス
・bignumber.js MITライセンス
・kintone-ui-component  MITライセンス
・pqgrid 商用ライセンス


# 注意事項

既に、JavaScript によるカスタマイズを行っているアプリの場合、処理が競合して、エラーになる場合があります。その場合は、該当するアプリでプラグインの使用を中止してください。