このプラグインでできること
「添付ファイルコピープラグイン」は、別のアプリに登録されている添付ファイルを、現在のレコードへコピーするプラグインです。
レコードの詳細画面に専用のボタンを設置します。
ボタンを押すと、キーとなるフィールドの値が一致するレコードを別アプリから探します。
見つかったレコードの添付ファイルを一覧表示し、必要なファイルだけを選んでコピーできます。
主な機能は次のとおりです。
- 別アプリのレコードをキーの値で検索し、添付ファイルを取得します。
- 取得したファイルを一覧から選び、必要なものだけをコピーします。
- コピー先は、このアプリの添付ファイルフィールドです。既存のファイルは残したまま追加されます。
- ボタンの配置場所・名称・デザイン(色、余白、角丸、枠線など)を設定できます。
- 設定はタブ形式で複数登録できます。1つの設定につき、1つのボタンが表示されます。
- パソコンとスマートフォンの両方で利用できます。
💡 このプラグインは、kintone標準の「ルックアップ」に近い動きをします。違いは、コピーする対象が文字列や数値ではなく「添付ファイル」である点です。
動作環境・前提条件
2-1. このアプリ(コピー先)に必要なもの
このプラグインを設定するアプリには、次の3つが必要です。
| 必要なもの | 用途 | 補足 |
|---|---|---|
| スペースフィールド | ボタンを表示する場所 | フォームの編集画面で「要素ID」を設定してください |
| キーとなるフィールド | 取得元アプリのレコードを探す条件 | 「文字列 (1行)」または「数値」 |
| 添付ファイルフィールド | コピーしたファイルの保存先 | 複数ある場合は設定で選択します |
⚠️ スペースフィールド(フォームに空白の領域を作るフィールド)には、必ず「要素ID」を設定してください。要素IDが空欄のスペースは、設定画面の選択肢に表示されません。
スペースフィールドに要素IDを設定する手順
- 「アプリの設定」の「フォーム」を開きます。
- フォームに配置した「スペース」の歯車アイコンをクリックします。
- 表示されたメニューで「設定」をクリックします。
- 「要素ID」に、半角英数字で任意のIDを入力します。
- 「保存」をクリックします。
- フォームの編集画面で「アプリを更新」をクリックします。
スペースの設定画面で「要素ID」を入力する
2-2. 取得元アプリ(コピー元)に必要なもの
ファイルを取り出す側のアプリには、次の2つが必要です。
| 必要なもの | 条件 |
|---|---|
| キーとなるフィールド | 「文字列 (1行)」または「数値」で、「値の重複を禁止する」が有効であること。または「レコード番号」 |
| 添付ファイルフィールド | 取り出したいファイルが登録されているフィールド |
⚠️ 取得元アプリのキーフィールドは、「値の重複を禁止する」が有効なものだけが選択できます。この設定がないフィールドは、設定画面の選択肢に表示されません。
「値の重複を禁止する」を有効にする手順
- 取得元アプリの「アプリの設定」の「フォーム」を開きます。
- キーにしたいフィールドの歯車アイコンをクリックします。
- 表示されたメニューで「設定」をクリックします。
- 「値の重複を禁止する」にチェックを入れます。
- 「保存」をクリックします。
- フォームの編集画面で「アプリを更新」をクリックします。
フィールドの設定画面で「値の重複を禁止する」にチェックを入れる
💡 「レコード番号」もキーとして選べます。レコード番号は必ず一意になるため、重複の設定は不要です。
2-3. アクセス権
- 設定する方が、取得元アプリのレコードを閲覧できる必要があります。
- ボタンを使う方も、取得元アプリのレコードとファイルを閲覧できる必要があります。
⚠️ 取得元アプリのアクセス権がない場合、ファイルの取得に失敗します。取得元アプリの「アプリの設定」で、利用者のアクセス権をご確認ください。
設定手順
3-1. 設定画面の全体構成
設定画面は、上から次の3つの領域に分かれています。
| 領域 | 内容 |
|---|---|
| ヘッダー | 「設定保存」ボタンと、右端の閉じるボタン |
| タブバー | 登録した設定のタブと「+設定を追加」 |
| 設定パネル | 選択中のタブの設定内容 |
設定を1件も登録していない場合、パネルには「設定がありません。「設定を追加」から作成してください。」と表示されます。
設定が1件もないときの設定画面
💡 画面を開いた直後は「読み込み中...」と表示されます。アプリとフィールドの情報を読み込んでいる状態です。数秒お待ちください。
3-2. 設定を追加する
- 設定画面のタブバーで「+設定を追加」をクリックします。
- 新しいタブが追加され、そのタブの設定パネルが表示されます。
設定を追加したときの設定パネル
💡 1つの設定が、レコード詳細画面の1つのボタンに対応します。取得元アプリごとにボタンを分けたい場合は、設定を複数追加してください。
3-3. 設定名を入力する
- 設定パネルの「設定名(タブ名)」に、この設定の名前を入力します。
入力した名前が、そのままタブの表示名になります。
💡 未入力の場合、タブ名は「設定1」「設定2」のように自動で表示されます。どの設定か分かるように、「見積書の添付取得」など具体的な名前を付けることをおすすめします。
「設定名(タブ名)」の入力欄
3-4. ボタン設定
「ボタン設定」では、レコード詳細画面に表示するボタンの場所・名前・見た目を決めます。
3-4-1. 配置するスペースフィールドを選ぶ
- 「ボタン設定」の「配置するスペースフィールド」をクリックします。
- 一覧から、ボタンを表示したいスペースの要素IDを選択します。
選択肢には、このアプリのフォームに配置されたスペースの要素IDが表示されます。
⚠️ スペースフィールドが1つもない場合、「スペースフィールドがありません」と表示されます。この場合は、先に「2-1. このアプリ(コピー先)に必要なもの」の手順で、スペースフィールドに要素IDを設定してください。
「配置するスペースフィールド」で要素IDを選ぶ
💡 複数の設定で同じスペースフィールドを選ぶこともできます。その場合、1つのスペースにボタンが並んで表示されます。
3-4-2. ボタン名を入力する
- 「ボタン名」に、レコード詳細画面に表示する文字を入力します。
初期値は「添付ファイル取得」です。
「ボタン名」の入力欄
3-4-3. ボタンデザインを設定する
「ボタンデザイン」で、ボタンの見た目を調整します。設定した内容は、すぐ下の「プレビュー」に反映されます。
設定できる項目は次のとおりです。
| 項目名 | 内容 | 初期値 |
|---|---|---|
| 背景色 | ボタンの背景の色 | 青緑色 |
| 文字色 | ボタンの文字の色 | 白 |
| 文字の太さ | 「B」を押すと文字が太字になります | 太字にしない |
| 角丸 | ボタンの角の丸み(px) | 4 |
| 内側の余白(パディング)の「縦」 | 文字の上下の余白(px) | 8 |
| 内側の余白(パディング)の「横」 | 文字の左右の余白(px) | 20 |
| 外側の余白(マージン)の「上」 | ボタンの上側の余白(px) | 4 |
| 外側の余白(マージン)の「下」 | ボタンの下側の余白(px) | 4 |
| 外側の余白(マージン)の「左」 | ボタンの左側の余白(px) | 0 |
| 外側の余白(マージン)の「右」 | ボタンの右側の余白(px) | 8 |
| 枠線をつける | チェックを入れると枠線が表示されます | チェックなし |
| 枠線の色 | 枠線の色(「枠線をつける」がONのときのみ表示) | 青緑色 |
| 枠線の太さ | 枠線の太さ(px。「枠線をつける」がONのときのみ表示) | 1 |
色を変更する手順
- 「背景色」の色見本をクリックします。
- 表示されたカラーピッカー(色を選ぶ画面)で色を選びます。
色見本をクリックすると開くカラーピッカー
余白や角丸を変更する手順
- 変更したい項目の入力欄をクリックします。
- 数値を入力します。
💡 単位はすべてpx(ピクセル)です。0以上の数値を入力してください。
枠線をつける手順
- 「枠線をつける」のチェックボックスにチェックを入れます。
- 表示された「枠線の色」で色を選びます。
- 「枠線の太さ」に数値を入力します。
「枠線をつける」にチェックを入れると、「枠線の色」「枠線の太さ」が表示される
プレビューで確認する
「プレビュー」には、設定した見た目のボタンが表示されます。
ボタン名が未入力の場合、プレビューには「ボタン」と表示されます。
「プレビュー」に表示されたボタン
3-5. 取得元アプリ・フィールド紐づけ
「取得元アプリ・フィールド紐づけ」では、どのアプリのどのファイルを取得するかを設定します。
3-5-1. 取得元アプリを選ぶ
- 「取得元アプリ」の入力欄をクリックします。
- アプリ名の一部を入力して、候補を絞り込みます。
- 一覧から、ファイルの取得元にするアプリを選択します。
選択肢は「アプリ名(アプリID: 123)」の形式で表示されます。
「取得元アプリ」でアプリを選ぶ
⚠️ 取得元アプリを変更すると、下の「紐づけ条件」と「添付ファイル」で選んだ内容がすべてリセットされます。設定し直してください。
⚠️ 「取得元アプリのフィールド取得に失敗しました(アクセス権をご確認ください)」と表示された場合、選んだアプリのフィールド情報を読み取れていません。そのアプリのアクセス権をご確認ください。
3-5-2. 紐づけ条件(キーフィールド)を設定する
「紐づけ条件」では、取得元のレコードを探すための条件を決めます。
左側が取得元アプリ、右側がこのアプリのフィールドです。
- 左側の「取得元アプリのキーフィールド(重複不可のみ)」をクリックします。
- 一覧から、キーにするフィールドを選択します。
- 右側の「このアプリのキーフィールド」をクリックします。
- 一覧から、キーにするフィールドを選択します。
「紐づけ条件」。左が取得元アプリ、右がこのアプリのキーフィールド
右側の下に「取得元が「文字列1行」のため 文字列1行 フィールドから選択」のようなヒントが表示されます。
右側で選べるフィールドは、左側で選んだフィールドの種類によって変わります。
| 取得元アプリのキーフィールド | このアプリで選べるキーフィールド |
|---|---|
| 文字列 (1行) | 文字列 (1行) |
| 数値 | 数値 |
| レコード番号 | 文字列 (1行) または 数値 |
⚠️ 左側で選ぶフィールドを変更すると、右側の選択がリセットされます。必ず左側から順に設定してください。
設定が進んでいない場合や、条件を満たすフィールドがない場合は、選択欄の代わりに案内文が表示されます。
| 表示される文言 | 対処 |
|---|---|
| 先に取得元アプリを選択してください | 「取得元アプリ」を先に選択します |
| 読み込み中... | 取得元アプリの情報を読み込み中です。しばらくお待ちください |
| 重複禁止(値の重複を許可しない)の文字列1行/数値フィールドがありません | 取得元アプリで「値の重複を禁止する」を有効にします |
| 先に取得元アプリのキーフィールドを選択してください | 左側のキーフィールドを先に選択します |
| 対応する文字列1行フィールドがありません | このアプリに、対応する種類のフィールドを追加します |
3-5-3. 添付ファイルフィールドを設定する
「添付ファイル」では、どのフィールドのファイルを、どのフィールドへコピーするかを決めます。
左側が取得元アプリ、右側がこのアプリのフィールドです。
- 左側の「取得する添付ファイルフィールド(取得元アプリ)」をクリックします。
- 一覧から、ファイルを取り出すフィールドを選択します。
- 右側の「保存先添付ファイルフィールド(このアプリ)」をクリックします。
- 一覧から、ファイルの保存先にするフィールドを選択します。
「添付ファイル」。左が取得元、右が保存先のフィールド
⚠️ どちらかのアプリに添付ファイルフィールドがない場合、「添付ファイルフィールドがありません」と表示されます。この場合は、先にアプリのフォームに添付ファイルフィールドを追加してください。
3-6. 設定を保存する
- 設定画面の上部にある「設定保存」をクリックします。
保存に成功すると、画面右上に「設定を保存しました」と表示されます。
保存と同時に、アプリの更新(運用環境への反映)も自動で実行されます。
ヘッダー左の「設定保存」
💡 キーボードの「Ctrl」キーを押しながら「S」キーを押しても保存できます(Mac は「command」キーと「S」キー)。
入力に不足がある場合
必須項目が未入力の場合、保存されません。
画面右上に「「設定1」の入力が不足しています:ボタン名、取得元アプリ」のようなメッセージが表示されます。
同時に、不足がある設定のタブへ自動で切り替わります。
必須項目は次の7つです。
| 必須項目 | メッセージ内の表記 |
|---|---|
| 配置するスペースフィールド | 配置するスペース |
| ボタン名 | ボタン名 |
| 取得元アプリ | 取得元アプリ |
| このアプリのキーフィールド | このアプリのキーフィールド |
| 取得元アプリのキーフィールド | 取得元アプリのキーフィールド |
| 保存先添付ファイルフィールド | 保存先フィールド |
| 取得する添付ファイルフィールド | 取得する添付ファイルフィールド |
入力が不足しているときのメッセージ
⚠️ 「設定は保存しましたが、アプリの更新に失敗しました」と表示された場合、設定内容は保存されていますが、運用環境へ反映されていません。「アプリの設定」の画面右上にある「アプリを更新」をクリックして、手動で反映してください。
3-7. 設定を切り替える・削除する
設定を切り替える手順
- 画面上部のタブバーで、表示したい設定のタブをクリックします。
設定ごとのタブ
設定を削除する手順
- 削除したい設定のタブにある「×」をクリックします。
- 「この設定を削除しますか?」という確認画面が表示されます。
- 「削除する」をクリックします。
「この設定を削除しますか?」の確認画面
⚠️ 削除後は「設定保存」をクリックしてください。保存するまで、削除内容はレコード画面に反映されません。
💡 削除をやめる場合は、確認画面で「キャンセル」をクリックします。
3-8. 設定画面を閉じる
- 画面右上の「×」をクリックします。
前の画面に戻ります。
⚠️ 保存していない変更は破棄されます。閉じる前に必ず「設定保存」をクリックしてください。
3-9. 設定項目の一覧
| 項目名 | 必須 | 内容 |
|---|---|---|
| 設定名(タブ名) | — | タブに表示する設定の名前 |
| 配置するスペースフィールド | 必須 | ボタンを表示するスペースの要素ID |
| ボタン名 | 必須 | ボタンに表示する文字 |
| ボタンデザイン | — | 背景色・文字色・文字の太さ・角丸・余白・枠線 |
| 取得元アプリ | 必須 | ファイルの取得元にするアプリ |
| 取得元アプリのキーフィールド(重複不可のみ) | 必須 | 取得元のレコードを探すためのキー |
| このアプリのキーフィールド | 必須 | 検索する値が入っているフィールド |
| 取得する添付ファイルフィールド(取得元アプリ) | 必須 | ファイルを取り出すフィールド |
| 保存先添付ファイルフィールド(このアプリ) | 必須 | コピーしたファイルを保存するフィールド |
操作手順
4-1. 添付ファイルを取得する
設定したボタンは、レコードの詳細画面に表示されます。
- ファイルをコピーしたいレコードの詳細画面を開きます。
- 設定したキーフィールドに、取得元レコードと一致する値が入っていることを確認します。
- スペースフィールドに表示されているボタン(初期値は「添付ファイル取得」)をクリックします。
レコードの詳細画面に表示された「添付ファイル取得」ボタン
- キーの値が一致する取得元レコードの検索が始まります。読み込み中の表示が出ます。
- 「添付ファイルの取得」という画面(モーダル)が開きます。
この画面には、取得元レコードの添付ファイルが一覧で表示されます。
上部には「取得するファイルにチェックを入れてください」と表示されます。
「添付ファイルの取得」画面。取得元レコードのファイルが並ぶ
- 取得したいファイルの行をクリックして、チェックを入れます。
- 画面右下の「取得する」をクリックします。
「取得する」の右側には、選択中の件数が「(3)」のように表示されます。ファイルを1つも選んでいないときは「取得する」を押せません。
ファイルにチェックを入れると、「取得する」に選択中の件数が出る
- ファイルのコピーが始まります。読み込み中の表示が出ます。
- 完了すると、画面右上に「3件のファイルを取得しました」と表示されます。
- まもなく、レコードの詳細画面が自動で再読み込みされます。
保存先に指定した添付ファイルフィールドに、コピーしたファイルが追加されています。
保存先の添付ファイルフィールドに、コピーしたファイルが追加された
⚠️ 保存先フィールドに元々あったファイルは削除されません。今回コピーしたファイルが後ろに追加されます。
⚠️ 同じボタンを2回押して同じファイルを選ぶと、同じファイルが2件登録されます。重複しているかどうかの確認は行われません。
💡 一部のファイルだけ失敗した場合は、「2件を取得しました(1件は失敗)」のように表示されます。成功した分だけが保存されます。
4-2. すべてのファイルをまとめて選ぶ
- モーダル上部の「すべて選択」にチェックを入れます。
- 一覧のすべてのファイルにチェックが入ります。
一覧の右側には「全 5 件」のように、表示されているファイルの総数が表示されます。
「すべて選択」と、右側のファイルの総数
💡 チェックをすべて外す場合は、「すべて選択」のチェックを外します。
4-3. 取得元のレコードが複数一致した場合
取得元のキーフィールドは「値の重複を禁止する」が有効なフィールドか「レコード番号」のため、通常は1件のレコードだけが一致します。
万一、複数のレコードが一致した場合は、一覧がレコードごとに区切られて表示されます。
区切りには「レコード #123」のように、レコード番号の見出しが表示されます。
💡 レコードをまたいで、必要なファイルを自由に選択できます。
4-4. 取得をやめる(モーダルを閉じる)
次のいずれかの操作で、ファイルを取得せずに画面を閉じられます。
- 画面右下の「キャンセル」をクリックします。
- 画面右上の「×」をクリックします。
- モーダルの外側(背景の暗い部分)をクリックします。
- キーボードの「Esc」キーを押します。
画面右上の「×」でも閉じられる
4-5. スマートフォンで利用する
スマートフォンのレコード詳細画面でも、同じボタンが表示されます。
操作手順はパソコンと同じです。
- スマートフォンでレコードの詳細画面を開きます。
- スペースフィールドに表示されているボタンをタップします。
- ファイル一覧からファイルを選び、「取得する」をタップします。
スマートフォンのレコード詳細画面に表示されたボタン
4-6. メッセージ一覧と対処方法
操作中に画面右上へ表示されるメッセージと、その対処方法です。
| メッセージ | 意味 | 対処方法 |
|---|---|---|
| キーフィールドに値がありません | このアプリのキーフィールドが空欄です | レコードを編集して、キーフィールドに値を入力します |
| キーの値が数値ではないため、レコード番号で照合できません | レコード番号での検索時に、キーの値から数値を取り出せませんでした | キーフィールドに数字を入力します |
| 取得できる添付ファイルがありません | 一致するレコードが見つからないか、そのレコードにファイルがありません | キーの値と、取得元レコードの添付ファイルを確認します |
| 取得元アプリのレコード取得に失敗しました(アクセス権をご確認ください) | 取得元アプリのレコードを読み取れませんでした | 取得元アプリのアクセス権を確認します |
| ファイルの取得に失敗しました | ファイルのコピー処理がすべて失敗しました | 取得元アプリのファイルの閲覧権限を確認します |
| レコードの更新に失敗しました | このレコードへの保存に失敗しました | このアプリのレコード編集権限と、保存先フィールドの権限を確認します |
| ○件のファイルを取得しました | コピーが完了しました | 対処は不要です |
| ○件を取得しました(△件は失敗) | 一部のファイルのコピーに失敗しました | 失敗したファイルを、もう一度取得します |
制限事項・注意点
5-1. 対象となる画面
- ボタンが表示されるのは、レコードの詳細画面のみです。
- 一覧画面、レコードの追加画面、レコードの編集画面では利用できません。
5-2. ボタンの表示に関する注意
- 設定を保存していない場合、ボタンは表示されません。
- 設定で選んだスペースフィールドが、フォームから削除されている場合、ボタンは表示されません。
- スペースフィールドの要素IDを変更した場合、プラグイン設定で選び直す必要があります。
⚠️ ボタンが表示されないときは、まず「配置するスペースフィールド」の設定と、フォーム上のスペースの要素IDが一致しているかをご確認ください。
5-3. フィールドに関する制限
- 取得元アプリのキーフィールドは、「値の重複を禁止する」が有効な「文字列 (1行)」「数値」、または「レコード番号」のみです。
- テーブル(サブテーブル)の中にあるフィールドは、キーにも添付ファイルの取得元・保存先にも指定できません。
- キーの値が完全に一致するレコードだけが検索されます。部分一致では検索されません。
5-4. ファイルのコピーに関する注意
- コピーしたファイルは、保存先フィールドの既存ファイルの後ろに追加されます。既存ファイルは削除されません。
- 同じファイルを重ねて取得しても、重複の確認は行われません。同じファイルが複数登録されます。
- コピーはファイル単位で行われます。一部が失敗しても、成功した分は保存されます。
- ファイルサイズが大きい場合や件数が多い場合、処理に時間がかかります。処理中は画面を閉じないでください。
⚠️ コピー完了後、レコードの詳細画面が自動で再読み込みされます。処理中は他の操作をしないでください。
5-5. キーの値に関する注意
- 取得元のキーに「レコード番号」を選んだ場合、このアプリのキーフィールドの値から数字以外の文字を取り除いて検索します。
- そのため、「A-123」のような値では意図しないレコードが検索される場合があります。レコード番号をキーにする場合は、数字のみの値を入れてください。
5-6. アクセス権に関する注意
- 取得元アプリのレコードやフィールドを閲覧できない利用者は、ファイルを取得できません。
- 保存先の添付ファイルフィールドに編集権限がない利用者は、ファイルを保存できません。
5-7. 設定変更時の注意
- 「取得元アプリ」を変更すると、キーフィールドと添付ファイルフィールドの選択がリセットされます。
- 「取得元アプリのキーフィールド」を変更すると、「このアプリのキーフィールド」の選択がリセットされます。
- 設定画面で「設定情報の読み込みに失敗しました。ページを再読み込みしてください。」と表示された場合は、ブラウザを再読み込みしてください。