ひとつの添付ファイルフィールドに添付された複数のファイルを、
ファイルひとつにつきテーブルの1行として分割して行追加する方法をご紹介します。
なお、このカスタマイズは詳細画面での使用を想定しています。
追加画面・編集画面では動きませんのでご注意ください。
kintone アプリの構成
テーブル外・テーブル内にそれぞれ一つずつ、添付ファイルフィールドを作成しました。
いずれも、フィールド名とフィールドコードは同一に設定しています。
Customine のカスタマイズ
ボタンをクリックすると、添付ファイルフィールドに添付されたファイルの数だけ繰り返し、テーブルに添付ファイルを添付した行を追加するカスタマイズを作成します。
まず、詳細画面にボタンを配置します。
やること「ボタンをメニュー位置に配置する」、条件には「詳細画面を表示した時」を指定します。
ボタンをクリックすると、テーブルの外に配置した添付ファイルフィールドから添付ファイルをコピーします。
やることは「添付ファイルをコピーする」、条件は「ボタンを押した時」です。
次に、行追加先のテーブル行を削除します。
やること「フィールド値をクリアする」、条件は「他のアクションの実行が完了した時」を指定してください。
「フィールド」には、添付ファイルを含む行を追加したいテーブルを指定します。
なお、既存のテーブル行を削除する必要はなく常に行追加で問題なければ、代わりに「テーブルから空の行を削除する」を指定してください。
既存行は削除されませんが、kintone によって自動的に追加される1行目の空白行を削除できます。
続いて、「キーを指定してレコードを取得する」で”画面に表示されているレコードを取得します。
「キーとなるフィールド」と「キーの値」にはいずれもレコード番号を指定してください。
なお、ここで取得したレコードの値はこの後のカスタマイズで使用しませんが、
後で使用する やること「レコードを指定アプリのテーブルに書き出す」で「元になるレコード」の指定が必須のため、そこで使用するために取得しておきます。
ここからが「リストから要素を取り出す」を使った繰り返しです。
やること「リストから要素を取り出す」の「リスト」には、添付ファイルをコピーするアクション2を指定します。
条件は「いずれかのアクションの実行が完了した時」、アクションには4と6を指定してください。
アクション3は、やること「リストから要素を取り出す」で添付ファイルを1ファイルずつ取り出します。
条件は「いずれかのアクションの実行が完了した時」を指定し、「アクション」に4と6を指定してください。
アクション4では、リストから取り出した1つずつのファイルを使用し、画面に表示されているレコードのテーブル行に行を追加し、同時に添付ファイルを添付します。
やることは「レコードを指定アプリのテーブルに書き出す」を指定してください。
パラメーターには、以下のように指定します。
書き出し先アプリ:カスタマイズ対象と同じアプリ
キーとなるフィールド:レコード番号
キーの値:レコード番号
書き出し先テーブル:添付ファイルを含む行を追加したいテーブル
元になるレコード:画面に表示されたレコードを取得するアクション(この例ではアクション6)
テーブルへのマッピング:
テーブル内の添付ファイルフィールド:「リストから要素を取り出す」のアクション(この例ではアクション3)
既存の行:既存のテーブル行を残して追記する
条件は「リストから要素を取り出した時」です。
最後に、テーブルへの添付ファイルフィールドを貼付した行追加が完了したら、画面を再読み込みします。
やることは「画面をリロードする」、条件には「リストからの取り出しが終了した時」を指定してください。
以上でカスタマイズは完了です。
「kintone アプリへ登録」をクリックし、カスタマイズをkintone に登録して動きを確認してみてください。
ご不明点等ございましたら、チャットにてご質問ください!
Customineドキュメントやサポートページもぜひご活用ください。