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

ルックアップでテーブルをコピーするプラグインです。
複数テーブル、添付ファイルのコピーができます。

[rex0220 stores](https://rex0220.stores.jp)で、販売中です。

# 応用例

[rex0220 テーブルルックアッププラグイン 最新データの取得](https://qiita.com/rex0220/items/184bda5aff1fc8e6dffd)

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

ルックアップの値を指定時、ルックアップ元のアプリからテーブル項目をコピーします。

テーブルルックアッププラグインの特徴
・ルックアップで、コピー項目にテーブル項目を指定
・複数のテーブルをコピー可能
・テーブル行出力条件
・計算式でコピー項目の値を変換可能
・テーブル内添付ファイル項目をコピー可能
・添付ファイルコピーをパラレル処理
・一括テーブルルックアップ機能　※最大レコード件数 10,000件
・３ヶ国語対応
・PC・モバイル対応

※ルックアップ指定で、テーブルをコピー

![2021-06-06_20h53_23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/6b49158d-d730-f19f-8272-37ed5e084f3c.png)

Ver.17
・DIC_MAP 関数を追加
・EV_INFO 関数に、appId オプション追加
・APP_URL, LOOKUP_GETID, RELATED_GETID 関数追加
・TABLE_DATA, TABLE_MAP, TPDIC 関数追加
　TABLE_DATA(TABLE_MAP(テーブル1,
　TPDIC("ドロップダウンT2",ドロップダウンT1, "数値T2",数値T1, "金額T2", 単価T1*数量T1)))
・プラグイン設定画面初期処理でエラー発生時に、ダイアログ表示するように変更
・kintone.Promise を Promise に変更

# テーブルルックアッププラグインの動作例

ルックアップの指定により、プラグイン設定で指定した制御用コピー項目の値が変更されたときに、テーブルコピー処理が実行されます。
ただし添付ファイルは、レコード保存時にコピーされ、処理経過をダイアログで表示します。

![2021-06-06_19h43_45.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/8d384ea0-a1e7-e09a-fc67-4232740c2e9c.gif)

# 一括テーブルルックアップの動作例

一覧画面から、一括テーブルルックアップを実行できます。

![2021-06-17_14h29_44.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/27339f88-0db4-3c0f-73e2-1fc9ceb0f8b9.gif)


# アプリの事前設定

- ルックアップのコピー項目：　レコード番号またはユニーク項目（値の重複を禁止する）を指定
    - ルックアップの指定値を変更時に、プラグイン動作のイベント処理で使用します。
- ファイル制御ID：　コピー項目に添付ファイル項目を指定する場合に、対象テーブル内に文字列項目を追加します。
    - フィールドコードを「ファイル制御ID」または、「FILES_CONTROL_ID」とすると、テーブルルックアッププラグイン設定で、計算式自動設定機能が利用できます。

![2021-06-06_20h38_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/511fe47b-361a-7e69-6074-f5c13724a5b4.png)


# プラグインの追加

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

# プラグインの設定

- NOTE：　メモ用
- プラグイン有効：　プラグインの有効・無効を指定します。
- ボタン設定：　一括テーブルルックアップの設定
- 一覧別設定：　一覧別のボタン表示設定
- 権限設定：　ユーザー、組織、グループ別のボタン表示設定
- ルックアップ名：　参照元アプリにテーブルがあるルックアップを表示
- From テーブル：　参照元アプリのテーブル
- チェック：　コピーするテーブルをチェック
- 制御用コピー項目：　ルックアップコピー項目で、レコード番号またはユニーク項目（値の重複を禁止する）を指定<br>
ルックアップ指定により、制御用コピー項目の値が変化した場合にテーブルコピー処理を実行
- To テーブル：　「編集」ボタンでコピー先のテーブルを指定
- 運用環境に反映：　「保存する」ボタンクリック時に直接運用環境に反映

![2021-08-21_22h46_25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/a0c05816-c7fe-cfc2-b64d-99be375c4140.png)


## To テーブル　の設定項目

- TO テーブル：　コピー先テーブルを選択
- クリア：　設定内容をクリア
- 自動設定：　コピー元とコピー先のテーブルで、フィールドコードが同じものがあれば、「項目（計算式）」を自動設定
    - フィールドコードが「ファイル制御ID」、「FILES_CONTROL_ID」の文字列項目があれば、「ファイル制御ID」を自動設定
- 出力条件：　テーブル行の出力条件を計算式で指定
    - コピー元テーブルの行単位の計算
- コピー先項目：　テーブル内項目
- フィールドコード：　テーブル内項目のフィールドコード
- チェック：　コピー対象項目をチェック
- ファイル制御ID：　添付ファイル項目をコピー時に、文字列項目をチェックして指定
- 編集：　コピー項目を編集可にする場合にチェック
- 項目（計算式）：　コピー元の項目を計算式で指定

![2021-08-21_22h46_40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/26b89e3e-dc08-86f7-bbfd-61eee7e9e12e.png)

## 計算式入力サポート機能

- 関数入力サポート：　「?」 を入力すると、関数一覧が表示されます。
![2021-06-06_20h30_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/0d5f7b44-f63e-417c-359d-a9e117ed23bd.png)

- 項目入力サポート：　「:」 を入力すると、項目一覧が表示されます。
![2021-06-06_20h29_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/17768dab-e7d9-5325-e996-346c7b8c6041.png)

# プラグイン設定のダウンロード＆アップロード

プラグイン設定をファイルとして、ダウンロード＆アップロードできます。

- プラグイン設定のダウンロード

![2021-06-06_20h47_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/2ee9635c-4afc-ba23-7bf1-56855bbddae5.png)

- プラグイン設定のアップロード
![2021-06-06_20h48_49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/fdf4f1b8-b756-d188-13de-5b86e458c592.png)



#注意事項

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