このプラグインでできること
kintone 標準のルックアップは、1つずつのフィールドの値しかコピーできません。
取得元のレコードにサブテーブル(明細行を入力する表)があっても、その中身は運べません。
このプラグインを使うと、ルックアップの「取得」を実行したときに、取得元レコードのサブテーブルの全行が、自分のアプリのサブテーブルへ自動でコピーされます。
たとえば商品セットマスタの明細を、見積アプリの明細へそのまま展開できます。
1-1. 主な機能
- ルックアップの「取得」を実行すると、取得元レコードのサブテーブルの全行を自動でコピーします。
- コピー元と登録先のフィールドの対応(マッピング)を、設定画面で自由に決められます。
- 同じフィールドタイプで同じフィールド名(またはフィールドコード)の項目は、自動でマッピングされます。
- サブテーブル以外の通常フィールドも、同じ取得元レコードから一緒にコピーできます。登録先が文字列なら、ドロップダウンや日付などの値も文字列にしてコピーできます。
- 取得元のアプリは、ルックアップの参照先以外のアプリにも変更できます。
- 1つのアプリの中に複数の設定を登録できます。設定はタブで切り替えて管理します。
- パソコンとスマートフォンの両方で動作します。
- レコードを再利用して作成した場合にも、明細がコピーされます。
💡 サブテーブルのコピーは「追記」ではなく「全置換」です。自分のアプリのサブテーブルの内容は、取得元の内容で丸ごと入れ替わります。
動作環境・前提条件
2-1. 必要な権限
| 対象者 | 必要な権限 |
|---|---|
| 設定する方 | このプラグインを追加するアプリの「アプリ管理権限」 |
| 利用する方 | 取得元アプリのレコードを閲覧できる権限 |
⚠️ 利用する方に取得元アプリの閲覧権限がないと、明細はコピーされません。エラーの通知が表示されます。
2-2. 事前に必要なアプリ・フィールド
設定を始める前に、2つのアプリを次の状態にしておきます。
ここでは「商品セットマスタ」を取得元アプリ、「見積アプリ」をプラグインを追加するアプリとして説明します。
取得元アプリ(例:商品セットマスタ)に必要なもの
- キーにするフィールドを用意します。
- そのフィールドの設定で「値の重複を禁止する」にチェックを入れます。
- 明細を入力するサブテーブルを用意します。
キーに使えるフィールドは次のとおりです。
| キーに使えるフィールド | 条件 |
|---|---|
| 文字列(1行) | 「値の重複を禁止する」にチェックが必要 |
| 数値 | 「値の重複を禁止する」にチェックが必要 |
| レコード番号 | 条件なし(常に選べます) |
⚠️ 「値の重複を禁止する」にチェックが入っていないフィールドは、設定画面の選択肢に表示されません。同じキーのレコードが複数あると、どのレコードの明細をコピーすべきか決められないためです。
プラグインを追加するアプリ(例:見積アプリ)に必要なもの
- 取得元アプリを参照するルックアップフィールドを用意します。
- ルックアップの「コピー元のフィールド」に、上で用意した重複を禁止したフィールドを指定します。
- 明細を登録するサブテーブルを用意します。
- そのサブテーブルの中に、取得元の明細と同じフィールドタイプのフィールドを用意します。
見積アプリのルックアップの設定。「コピー元のフィールド」に重複を禁止したフィールドを指定する
💡 登録先のフィールド名を取得元と同じ名前にしておくと、設定画面でマッピングが自動で入ります。設定の手間が減ります。
設定手順
設定画面では、1つの「設定」ごとに、どのルックアップでどのサブテーブル・フィールドをコピーするかを決めます。
設定はタブで管理します。複数のルックアップがある場合は、設定を複数登録できます。
設定が1つもないときの設定画面
3-1. 設定を追加する
- 設定画面の上部にある「+設定を追加」をクリックします。
- タブが1つ追加され、設定の入力欄が表示されます。
💡 設定が1つもない場合は、画面に「設定がありません。「設定を追加」から作成してください。」と表示されます。
「+設定を追加」で追加されたタブ
3-2. 設定名を入力する
- 「設定名(タブ名)」の入力欄をクリックします。
- 設定の内容が分かる名前を入力します(例:見積明細の取得)。
入力した名前は、そのままタブの名前になります。
未入力の場合は「設定1」のように自動で表示されます。
「設定名(タブ名)」の入力欄
3-3. 対象ルックアップを選ぶ
- 「対象ルックアップ」の「ルックアップフィールド」をクリックします。
- 一覧から、トリガーにするルックアップフィールドを選びます。
選択肢には、このアプリのルックアップフィールドだけが表示されます。
選ぶと、「取得元アプリ」にそのルックアップの参照先アプリが自動で入ります。
💡 選択欄は文字を入力して絞り込めます。フィールド名の一部を入力すると候補が絞られます。
⚠️ このアプリにルックアップフィールドが1つもない場合、選択欄には「ルックアップフィールドがありません」と表示されます。先にルックアップフィールドを追加してください。
ルックアップを選ぶと、取得元アプリと一意キーが自動で入る
3-4. 取得元アプリを選ぶ
ルックアップを選ぶと、そのルックアップの参照先アプリが自動で入ります。
通常はそのままで問題ありません。
明細だけを別のアプリから取得したい場合に、次の手順で変更します。
- 「取得元アプリ」の選択欄をクリックします。
- 一覧から、明細を取得したいアプリを選びます。
選択肢には、自分が閲覧できるアプリがすべて表示されます。
アプリ名とアプリIDが並んで表示されるため、同名のアプリでも見分けられます。
⚠️ 取得元アプリを変更すると、「取得元アプリのキー」「取得元サブテーブル」「フィールドのマッピング」「通常フィールドのマッピング」は選び直しになります。設定の途中で変更する場合はご注意ください。
「取得元アプリ」。アプリ名とアプリIDが表示される
3-5. 一意キーを選ぶ
「一意キー(取得元レコードの特定に使用)」では、どのレコードの明細を取得するかを決めます。
左右2つの欄があり、「左の値と一致するレコードを、右のフィールドで探す」という関係になります。
「一意キー」。左がこのアプリのキー、右が取得元アプリのキー
左:このアプリのキー
- 「このアプリのキー(ルックアップ自体/ルックアップで取得するフィールド)」の選択欄をクリックします。
- 一覧から、末尾に「<ルックアップ>」と付いた項目を選びます。
「<ルックアップ>」が付いた項目は、手順3-3で選んだルックアップフィールドそのものです。
ルックアップのキーは取得元アプリで重複が禁止されているため、レコードを確実に1件に絞り込めます。
💡 選択欄には、ルックアップが一緒に取得する文字列(1行)と数値のフィールドも表示されます。特別な事情がなければ「<ルックアップ>」が付いた項目を選んでください。
⚠️ 候補が1つもない場合は「キーに使える 文字列1行/数値 のフィールドがありません(ルックアップ自体・コピー先とも該当なし)。」と表示されます。ルックアップのコピー元フィールドが、文字列(1行)または数値かをご確認ください。
右:取得元アプリのキー
- 「取得元アプリのキー(重複不可のみ)」の選択欄をクリックします。
- 一覧から、取得元アプリでキーになるフィールドを選びます。
取得元アプリがルックアップの参照先のままの場合、ルックアップのキーが自動で選ばれます。
候補が1つしかない場合も自動で選ばれます。
⚠️ 候補には、レコード番号と、「値の重複を禁止する」にチェックを入れた文字列(1行)・数値だけが表示されます。目的のフィールドが出てこない場合は、取得元アプリでそのフィールドの重複禁止の設定をご確認ください。
⚠️ 候補が1つもない場合は「取得元に 重複不可の 文字列1行/数値、またはレコード番号 がありません。」と表示されます。
3-6. サブテーブルを選ぶ
「サブテーブル」では、どの明細をどこへコピーするかを決めます。
- 「取得元サブテーブル」の選択欄をクリックします。
- 取得元アプリのサブテーブルを選びます。
- 「このアプリのサブテーブル」の選択欄をクリックします。
- 明細を登録するサブテーブルを選びます。
両方を選ぶと、下に「フィールドのマッピング」が表示されます。
取得元サブテーブルと、このアプリのサブテーブルを選ぶ
💡 サブテーブルをコピーせず、通常フィールドだけをコピーする場合は、両方とも「(コピーしない)」のままにします。その場合は「3-8. 通常フィールドのマッピングを設定する」で1行以上設定してください。
3-7. フィールドのマッピングを設定する
「フィールドのマッピング」では、取得元の明細の各項目を、自分のアプリのどの項目に入れるかを決めます。
表の左が「取得元フィールド」、右が「登録先(このアプリ)」です。
サブテーブルを選んだ時点で、同じフィールドタイプかつ同じフィールド名(またはフィールドコード)の項目は自動で選ばれています。
そのままでよければ変更は不要です。
「フィールドのマッピング」。同じ型・同じ名前の項目は自動で選ばれている
変更する場合は、次の手順で操作します。
- 変更したい行の「登録先(このアプリ)」の選択欄をクリックします。
- 一覧から、値を入れたいフィールドを選びます。
コピーしたくない項目がある場合は、次の手順で操作します。
- 対象の行の「登録先(このアプリ)」の選択欄をクリックします。
- 一覧から「(コピーしない)」を選びます。
「(コピーしない)」にした項目は転記されません。
その項目は、コピー前の明細の1行目と同じ値になります(新しいレコードでは、kintone のフィールド設定で決めた初期値または空欄)。
💡 「登録先(このアプリ)」の候補には、取得元と同じフィールドタイプのフィールドだけが表示されます。フィールドタイプが違うことによる保存エラーは起きません。
💡 他の行ですでに選んだ登録先は、候補から自動的に消えます。同じフィールドに2つの項目を入れる設定はできません。
⚠️ 取得元が計算フィールドの場合だけ、登録先に「計算」と「数値」の2種類を選べます。「数値」を選ぶと、取得した時点の計算結果がそのまま数値として入ります。「計算」を選ぶと、自分のアプリの計算式で計算し直されます。
⚠️ 添付ファイル、レコード番号、作成者などのフィールドはコピーできません。表にも表示されません。
⚠️ コピーできるフィールドが1つもない場合は「コピー可能なフィールドがありません。」と表示されます。
登録先を「(コピーしない)」にした行
3-8. 通常フィールドのマッピングを設定する
設定画面の一番下にある「通常フィールドのマッピング」では、取得元レコードのサブテーブル以外のフィールド(通常フィールド)を、自分のアプリのどのフィールドに入れるかを決めます。
ルックアップの「取得」で、サブテーブルと一緒にコピーされます。
- 「+フィールドを追加」をクリックします。
- 追加された行の「取得元フィールド」で、コピー元のフィールドを選びます。
- 「登録先(このアプリ)」で、値を入れるフィールドを選びます。
「同じ名前のフィールドを一括追加」をクリックすると、同じ型で同じフィールド名(またはフィールドコード)のフィールドをまとめて追加します。
追加した件数は「◯件のフィールドを追加しました」と表示されます。追加できるものがない場合は「追加できる同名フィールドはありませんでした」と表示されます。
行を削除するときは、行の右端にある「×」をクリックします。
「通常フィールドのマッピング」で行を追加した状態
「登録先(このアプリ)」に選べるフィールドは、取得元フィールドの型で決まります。
| 取得元フィールドの型 | 選べる登録先の型 |
|---|---|
| 文字列(1行)/ 文字列(複数行)/ 数値 / 日付 / 時刻 / 日時 / ドロップダウン / ラジオボタン / チェックボックス / 複数選択 / リンク / ユーザー選択 / 組織選択 / グループ選択 | 同じ型、または文字列(1行)・文字列(複数行) |
| 計算 | 数値、または文字列(1行)・文字列(複数行) |
| リッチエディター | リッチエディター |
💡 文字列の登録先へ別の型の値を入れるときは、文字列に変換して入れます。チェックボックス・複数選択・ユーザー選択などの複数の値は「, 」でつなぎます。日時は「YYYY-MM-DD HH:mm」の形になります。文字列(1行)へ入れるときは、改行を空白に置き換えます。
⚠️ 対象ルックアップ自体と、ルックアップがコピーするフィールドは、登録先に選べません。
⚠️ 通常フィールドは、取得元の値で上書きされます。取得元が空欄なら、登録先も空欄になります。
3-9. 設定を保存する
- 設定画面の左上にある「設定保存」をクリックします。
- 画面右上に「設定を保存しました」と表示されます。
保存すると、アプリの更新(変更を反映)も自動で行われます。
アプリの設定画面に戻って「変更を反映」を押す必要はありません。
💡 キーボードの Ctrl キーと S キーを同時に押しても保存できます(Mac は command キーと S キー)。
⚠️ 入力に不備があると保存されません。不備のある設定のタブへ自動で切り替わり、画面右上にメッセージが表示されます。内容は「3-12. 保存できないときのメッセージと対処」をご確認ください。
保存すると表示される「設定を保存しました」
3-10. 設定を追加・切り替え・削除する
1つのアプリに複数のルックアップがある場合は、設定を複数登録できます。
設定を切り替える
- 画面上部のタブをクリックします。
- そのタブの設定内容が表示されます。
設定を追加する
- 「+設定を追加」をクリックします。
設定を2つ登録した状態のタブ
設定を削除する
- 削除したいタブの右端にある「×」をクリックします。
- 「この設定を削除しますか?」と表示されます。
- 「削除する」をクリックします。
削除をやめる場合は「キャンセル」をクリックします。
⚠️ 削除しただけでは確定しません。「設定保存」をクリックするまで、削除内容はアプリに反映されません。
「この設定を削除しますか?」のダイアログ
3-11. 設定項目一覧
| 項目名 | 内容 | 選択肢に表示されるもの |
|---|---|---|
| 設定名(タブ名) | 設定の名前。タブに表示されます | 自由入力 |
| ルックアップフィールド | コピーのトリガーにするルックアップ | このアプリのルックアップフィールド |
| 取得元アプリ | 明細を取得するアプリ | 閲覧できるすべてのアプリ |
| このアプリのキー(ルックアップ自体/ルックアップで取得するフィールド) | 取得元を検索するときの値 | 対象ルックアップ本体と、そのルックアップが取得する文字列(1行)・数値 |
| 取得元アプリのキー(重複不可のみ) | 取得元を検索するときの対象フィールド | レコード番号と、重複を禁止した文字列(1行)・数値 |
| 取得元サブテーブル | コピー元の明細 | 「(コピーしない)」と、取得元アプリのサブテーブル |
| このアプリのサブテーブル | コピー先の明細 | 「(コピーしない)」と、このアプリのサブテーブル |
| 登録先(このアプリ) | 明細の各項目の転記先 | 取得元と同じフィールドタイプで、他の行で未使用のフィールド |
| 通常フィールドのマッピング:取得元フィールド | 取得元レコードの、サブテーブル以外のフィールド | 取得元アプリの通常フィールド(添付ファイル・レコード番号・作成者などを除く) |
| 通常フィールドのマッピング:登録先(このアプリ) | 通常フィールドの転記先 | 「3-8. 通常フィールドのマッピングを設定する」の表のとおり。ルックアップと、そのコピー先は除く |
3-12. 保存できないときのメッセージと対処
「設定保存」をクリックしたときに表示されるメッセージと、その対処は次のとおりです。
メッセージの先頭には、対象の設定名が付きます。
| メッセージ | 対処 |
|---|---|
| 対象ルックアップを選択してください | 「ルックアップフィールド」を選びます |
| ルックアップ「(フィールドコード)」が存在しません。選び直してください | 設定後にルックアップが削除されています。選び直します |
| 取得元アプリを選択してください | 「取得元アプリ」を選びます |
| このアプリのキーを選択してください | 左側の「このアプリのキー」を選びます |
| このアプリのキーが無効です。選び直してください | ルックアップの設定変更などで候補から外れています。選び直します |
| 取得元アプリのキーを選択してください | 右側の「取得元アプリのキー」を選びます |
| 取得元アプリのキーが無効です(重複不可でない等)。選び直してください | 取得元アプリでフィールドの重複禁止が外れています。設定を戻すか、別のキーを選びます |
| 取得元サブテーブルを選択してください | 「取得元サブテーブル」を選びます(サブテーブルをコピーしない場合は、両方とも「(コピーしない)」にします) |
| このアプリのサブテーブルを選択してください | 「このアプリのサブテーブル」を選びます(同上) |
| サブテーブルの登録先フィールドを1つ以上選択してください | 「フィールドのマッピング」で「登録先(このアプリ)」を1つ以上選びます |
| サブテーブルの登録先フィールドが重複しています | 同じ登録先が複数の行で使われています。どちらかを選び直します |
| 通常フィールドのマッピングに未選択の行があります(不要な行は削除してください) | 取得元・登録先の両方を選ぶか、行の「×」で削除します |
| 通常フィールドの登録先が重複しています | 同じ登録先が複数の行で使われています。どちらかを選び直します |
| 通常フィールド「(フィールドコード)」は登録先に指定できません。選び直してください | 型が合わなくなったなどで候補から外れています。選び直します |
| サブテーブルまたは通常フィールドのマッピングを1つ以上設定してください | サブテーブルか通常フィールドの、どちらかのマッピングを設定します |
保存後に次のメッセージが出た場合は、アプリの更新だけが失敗しています。
| メッセージ | 対処 |
|---|---|
| 設定は保存しましたが、アプリの更新に失敗しました | 設定自体は保存されています。アプリの設定画面から「変更を反映」を実行してください |
| 更新処理に失敗しました | 同上 |
設定画面を開いたときに次のメッセージが出る場合もあります。
| メッセージ | 対処 |
|---|---|
| 取得元アプリのフィールド取得に失敗しました(アクセス権をご確認ください) | 取得元アプリが削除されたか、閲覧権限がありません |
| 設定情報の読み込みに失敗しました。ページを再読み込みしてください。 | 画面を再読み込みします |
| ご利用にはライセンスの契約が必要です。 | ご契約の状態をご確認ください |
操作手順
設定が終わると、レコードの作成画面と編集画面で自動的に動作します。
ボタンの追加や特別な操作は不要です。
4-1. 新規レコードで明細を取り込む
- 見積アプリでレコードの追加画面を開きます。
- 設定したルックアップフィールドの「取得」をクリックします。
- 一覧から対象のレコードを選びます。
- ルックアップの値が入り、続けて明細のサブテーブルに行が追加されます。
ルックアップを取得すると、明細のサブテーブルに行がコピーされる
💡 明細の行数が多い場合や、取得元アプリのレコード件数が多い場合は、行が表示されるまで少し時間がかかります。
⚠️ 明細はマッピングした項目だけが転記されます。「(コピーしない)」にした項目は、コピー前の明細の1行目と同じ値(新しいレコードでは初期値または空欄)になります。
4-2. 既存レコードの明細を入れ替える
- 見積アプリでレコードの編集画面を開きます。
- ルックアップフィールドの「取得」をクリックします。
- 別のレコードを選びます。
- 明細のサブテーブルの内容が、新しい取得元の内容に丸ごと入れ替わります。
⚠️ 既存の明細行はすべて削除されます。手入力で追加・修正した行も残りません。編集画面で明細を調整したあとにルックアップを取得し直すと、調整した内容は失われます。
⚠️ 取得元の明細が0行の場合、自分のアプリの明細も0行になります。
別のレコードを取得すると、明細が新しい取得元の内容に入れ替わる
4-3. レコードを再利用して作成する
- 見積アプリでレコードの詳細画面を開きます。
- 「レコードを再利用する」をクリックします。
- 作成画面が開いた時点で、明細が取得元の内容で読み込まれます。
再利用して作成した場合は、ルックアップの「取得」を押さなくても明細がコピーされます。
再利用のときだけの動作です。既存レコードを開き直したときには実行されません。
レコードの詳細画面にある「レコードを再利用する」
4-4. スマートフォンで利用する
スマートフォンの作成画面・編集画面でも、パソコンと同じように動作します。
- スマートフォンで見積アプリのレコード追加画面を開きます。
- ルックアップフィールドの「取得」をタップします。
- 対象のレコードを選びます。
- 明細のサブテーブルに行が追加されます。
スマートフォンでも、取得すると明細がコピーされる
4-5. 明細が入らないときの確認
明細が入らない場合、次のいずれかに当てはまることが多いです。
| 状態 | 原因と対処 |
|---|---|
| ルックアップの値が空 | キーの値が空のときはコピーを実行しません。ルックアップを取得してください |
| 取得元に一致するレコードがない | キーの値と一致するレコードが取得元アプリに存在しません。取得元アプリのデータをご確認ください |
| 取得元の明細が0行 | 取得元レコードのサブテーブルに行がありません |
| 「取得元レコードの取得に失敗しました(取得元アプリの閲覧権限やネットワークをご確認ください)」と表示される | 取得元アプリの閲覧権限がないか、通信に失敗しています。管理者へご連絡ください |
💡 ルックアップの値を「クリア」しても、すでに入っている明細や通常フィールドの値は削除されません。明細を消したい場合は、サブテーブルの行を手動で削除してください。
制限事項・注意点
- 明細は全置換されます。既存の行に追加されるのではなく、丸ごと入れ替わります。
- 取得元の明細が0行の場合、自分のアプリの明細も0行になります。
- ルックアップの値をクリアしても、すでに入っている明細は削除されません。
- 添付ファイル、レコード番号、作成者、更新者などのフィールドはコピーできません。
- ドロップダウン、ラジオボタン、チェックボックス、複数選択の項目を同じ型へコピーする場合は、登録先にも同じ選択肢を用意してください。
- ユーザー選択、組織選択、グループ選択の項目を同じ型へコピーする場合は、登録先でも同じユーザー・組織・グループを選べるようにしておいてください。
- 取得元アプリのキーは、レコード番号または「値の重複を禁止する」を設定したフィールドのみ使用できます。
- キーの値と一致するレコードが複数ある場合は、先頭の1件が使われます。
- 対象ルックアップ自体と、ルックアップがコピーするフィールドは、通常フィールドの登録先に選べません。
- 明細のコピーはレコードの作成画面・編集画面でのみ動作します。一覧画面での編集や、他システムからのデータ取り込みでは動作しません。
- 設定の変更は「設定保存」をクリックするまで反映されません。タブの削除も同様です。