一つの添付ファイルをコピーし、複数の別のアプリや同じアプリの別レコードに書き出したいという場合、単純にコピーした添付ファイルを複数個所に書き出すとエラーとなり書き出しできません。


添付ファイルをコピーする」でコピーした添付ファイルは、一度書き出しすると再利用できなくなるためです。


【実行時にエラーとなるカスタマイズ例】

まずボタンを配置し、添付ファイルをコピーします。


コピーした添付ファイルを、二つの添付ファイルフィールドに書き込みます。


カスタマイズをkintoneアプリへ登録し、実行してみるとアクション番号3と4のうち、先に実行されたアクションは問題なく実行され、添付ファイルがセットされます。

しかし、後に実行された方のアクションは下記のようなエラーが表示され、添付ファイルのセットに失敗します。


エラー内容:

kintone API 呼び出しがエラーになりました。

[kintone からの応答]

指定したファイル(id:XXX)が見つかりません。

Code: GAIA_BL01


このようなエラーを回避するため、たとえコピー”元”の添付ファイルフィールドが一つであっても、コピー”先”のフィールドの数と同じ数の「添付ファイルをコピーする」のアクションが必要です。


【カスタマイズ修正例】


修正例では、コピー”先”のフィールドは2個ですので、「添付ファイルをコピーする」のアクションを2個になるよう追加します。

アクション番号5で、アクション番号2と同じフィールドにセットされた添付ファイルをコピーする処理を追加しました。


次に、アクション番号4のやることの「マッピング」を、先ほど新しく追加したアクション番号5に書き換えます。

また、もともと条件に指定してあった「他のアクションの実行が完了した時」のアクションについても、アクション番号5に変更しました。


  • アクション番号2でコピーした添付ファイルはアクション番号3で書き込み

  • アクション番号5でコピーした添付ファイルはアクション番号4で書き込み

とすることで、エラーなく添付ファイルがコピーされるようになります。



これで一つの添付ファイルを複数のレコードにコピーすることは可能となります。

ただ、一度考えてみていただきたいのは「本当に添付ファイルのコピーは必要か?」という事です。

添付ファイルはレコードと比較してデータサイズが大きい場合が多く、ファイル数が増えてくるとディスク容量を圧迫する場合があります。


添付ファイルコピー以外の方法で複数アプリで同じ添付ファイルを共有する方法として、例えばコピー後の添付ファイルを変更する予定がない場合は、コピー元の kintone アプリのレコードを関連レコード一覧で表示する、といった対応も一つの選択肢かと思います。