本記事では、ViewFramerを利用して、kintone上の複数のアプリからデータを抽出し、帳票を出力する方法についてご紹介します。
ViewFramerってそもそも何?という方は、こちらの概要説明をご覧ください。
今回、ViewFramerを使って以下のような動作を実現します。
-
kintoneのアプリ一覧画面でボタンをクリック
-
ViewFramerが呼び出され、複数アプリのデータを使った帳票(PDF)を作成
-
ダウンロードして、PDFを表示
ここでポイントなのは、複数のアプリのデータを自由に引っ張ってこられるということと、リストビュー上の複数レコードを、そのまま明細行として帳票出力している(=親がないレコードの一覧をそのままリストとして作成できる)という点です!
詳細な設定手順については、こちらをご覧ください。
本記事では、設定にあたってのポイントをかいつまんでご説明したいと思います。
まず、ViewFramerから出力するにあたっては、以下のようなステップで準備する必要があります。
【準備の流れ】
-
OPROARTS Liveにてテンプレート作成
↓
-
ViewFramerにて認証設定を定義
↓
-
ViewFramerにてビューを定義
↓
-
ViewFramerにてマッピングを定義
↓
-
kintoneのボタン作成および配置後、出力
以下、それぞれについて解説します。
<OPROARTS Liveにてテンプレート作成>
まず、帳票のレイアウトのひな形(テンプレート)を用意する必要があります。
テンプレートは、デザインツール「OPROARTS Live」で作成します。
作成方法は、出力形式によっていくつかありますが、PDF用のテンプレートは、デザイナー画面上で作成するか、既存のExcelシートを読み込む方法があります。
ここでは、デザイナー上で作成する方法をとりますが、1から作成するのではなく、サンプルを使っています。
また、帳票デザインの後に、帳票上の項目とフィールドを紐づける、「マッピング」作業を行います。
<ViewFramerにて認証設定を定義>
ViewFramerにログイン後、先ずkintoneへログインし帳票に使用するアプリのAPIトークンを登録します。
※kintone、ViewFramerそれぞれに定義項目がありますのでご注意ください。
※帳票にて利用するアプリ全ての定義が必要です。
今回は複数アプリ「案件管理」、「顧客管理」、「活動履歴」を利用しますので、下記kintone側の定義を3回繰り返します。
~kintone側の定義~
1.kintoneへログインし帳票にて利用するアプリより「設定」を開きます。
2.「設定タブ」より「APIトークン」を開きます。
3.「生成する」ボタンを押しレコードを生成し「保存」します。
-
この時、「レコードの閲覧」、「レコードの編集」にチェックします。
-
同時にレコードIDをコピーします。
4.保存後、アプリ設定画面より「アプリを更新」します。
~ViewFramer側の定義~
5.ViewFramerの認証設定に戻り、帳票にて利用するアプリの「トークン」に生成したレコードのIDを設定し「保存」します。
<ViewFramerにてビューを定義>
次に、いよいよViewFramer上でビューを作成します。一つのビューの中で、複数のアプリをリレーションすることができます。
-
ViewFramerへログインします。
-
「ビュー」タブより「新規」を選択します。
-
ビュー定義内、「基本設定」にて「ビュー名」(任意)を指定します。
-
ビュー定義内、「リレーション設定」の以下項目を指定します。
※ 尚、ViewFramerの画面上ではkintoneの「アプリ」を「オブジェクト」と表記している箇所が御座います。
-
主オブジェクト:起点となるアプリを選択し、ショートネームを入力します。ここでは[案件管理]を指定しています。
-
関連オブジェクト:起点となるアプリに関連付けるアプリです。
ここでは、 [顧客管理]、[活動履歴]を指定しています。
-
各「項目名」、「演算子」、「オブジェクト」、「項目名」については参照項目とアプリを結びつける条件を指定します。
-
リレーションを追加する際には「+」ボタンを選択し追加します。
-
-
全ての設定終了後、「次へ」を選択します。
-
ビュー定義内、「出力項目設定」の以下項目を指定します。
-
取得元オブジェクトを指定。
-
「項目ビルダー」でkintoneの項目を指定(「全項目を追加」も可能)
※OPROARTS Liveにて作成したテンプレート上で定義されているフィールド名と同じにしておけば、後で自動マッピングが可能となります。
-
ビュー定義内、「出力条件設定」ではレコードの抽出条件を指定可能です。
今回は指定しません。
-
ここまでの設定を全て完了後、「保存」をします。
<ViewFramerにてマッピングを定義>
「マッピング」は、ViewFramer呼び出し時に実行される単位です。kintoneのボタンからは、ViewFramerのマッピング名を指定するかたちになります。
複数のビューをヘッダーや明細として割り当てたり、OPROARTS Liveで作成したテンプレート上の項目とのマッピングを行ったりします。詳しくは、手順書の方でご確認ください。
<kintoneのボタン作成および配置後、出力>
テンプレートとViewFramerの定義を用意できたら、あとはkintone上にボタンを配置すれば完了です。
設定手順についてはこちらの25ページ以降を参照ください。
実際にkintoneから呼び出してみると・・
この様に、複数のアプリから取得したデータを、リストとしてまとめて出力することができました!
本日は以上になります。ViewFramerはこれ以外にも様々な形式で帳票を作成できますし、帳票だけでなく、BIやD3Workerにも連携できますので、また別の機会にご紹介したいと思います!ありがとうございました。
ーーーーー(この記事に添付されているファイル) ーーーーー