Index
はじめに
別アプリからテーブルのデータをまるごと参照したい方が、実は多いのではないでしょうか?
そんな方々のために、今回はアプリ間でテーブルのデータを参照する方法をまとめました。
早速、詳細を見ていきましょう。
環境準備
カスタマイズのイメージ
今回のカスタマイズで実現したいことは、
「出張申請」アプリから「旅費精算申請」アプリの「旅費」テーブルのデータを参照することです。
- パターン1:REST APIを使って参照する
- パターン2:標準機能のみで参照する の2パターンの方法を紹介します。
パターン1:REST APIを使って参照する
テーブルのデータを参照する際、下記のように、業務に応じて必要な参照の仕方は色々あると思います。
- テーブルデータを別のアプリから取得したい
- テーブルデータを別のアプリに保存したい
この記事では、まずは上記2パターンの自動参照を実現する、JavaScript カスタマイズを使った方法を紹介したいと思います。
テーブルデータを別のアプリから取得する
仕組み
具体的には「別アプリからテーブルデータを取得し、詳細画面のスペースフィールドに表示させる」仕組みになります。
今回の例では、「出張申請」アプリのレコード詳細画面が表示されたときに、
「旅費精算申請」アプリから「旅費」テーブルのデータを取得し、スペースフィールドに表示させるイメージです。アプリ間の関係図は下記になります。
完成イメージ
適用手順
- 「出張申請」アプリ:
- フィールドコードが「出張申請番号」のレコード番号フィールドを追加する。
- フィールドコードが「tableSpace」のスペースフィールドを一つ追加する。
フィールドコード フィールドの種類 備考 出張申請番号 レコード番号 「旅費精算申請」レコードを特定するための番号です。
同じ「出張申請番号」の「旅費精算申請」レコードのテーブルデータを参照し、「出張申請」レコードに反映します。tableSpace スペース 取得した「旅費精算申請」のテーブルデータを表示するために利用します。 - サンプルプログラムをJavaScriptファイルに保存し、設定画面からファイルを読み込む。
※ファイルの読み込み方法は「JavaScriptやCSSでアプリをカスタマイズする」をご参照ください。
表示されたデータは、標準機能で合計値を計算することができません。
スペースフィールドに表示されたデータも含めて、金額の合計値を計算したい場合は、
「旅費精算申請」アプリから取得したデータを利用して合計値を算出する処理が必要です。
- 「旅費精算申請」アプリ:
- フィールドコードが「出張申請番号」のレコード番号フィールド(必須項目)を追加する。
フィールドコード フィールドの種類 備考 出張申請番号 数値 「出張申請」レコードを特定するための番号です。
同じ「出張申請番号」の「出張申請」レコードに、「旅費精算申請」のテーブルデータを反映します。紐つけたい「出張申請」アプリのレコード番号を、こちらに入力します。
※「出張申請アプリ」の「出張申請番号」とフィールドコードを合わせてください。
※「必須項目にする」「値の重複を禁止する」にチェックしてください。
サンプルプログラム
「出張申請」アプリのレコード詳細画面の表示イベントで、
「旅費精算申請」アプリから「旅費」テーブルのデータを取得し、「出張申請」アプリのスペースフィールドに表示させる処理になります。
動作確認
- 「旅費精算申請」アプリに新規レコードを作成し、保存する。
- 「旅費」テーブルにデモ用のデータを登録する。 - 「出張申請」アプリに新規レコードを作成し、保存する。
保存後のレコード詳細画面の「tableSpace」スペースフィールドに、
「完成イメージ」のようなテーブルが表示されたかどうかを確認する。
テーブルデータを別のアプリに登録する
仕組み
具体的には「レコード保存時に、テーブルデータを参照させたいアプリのテーブルにも登録する」になります。
今回の例では、「旅費精算申請」アプリのレコードを保存するときに、
「旅費」テーブルのデータを「出張申請」アプリにも保存するイメージになります。アプリ間の関係図は下記になります。
完成イメージ
適用手順
- 「出張申請」アプリ:
- フィールドコードが「出張申請番号」のレコード番号フィールドを追加する。
- 設定から、取得したデータを格納するためのテーブルを追加する。
フィールドコード フィールドの種類 備考 出張申請番号 レコード番号 「旅費精算申請」レコードを特定するための番号です。
同じ「出張申請番号」の「旅費精算申請」レコードから更新されたテーブルデータを「出張申請」レコードに反映します。旅費 テーブル 「旅費精算申請」の「旅費」テーブルと同じものを追加します。
- 「旅費精算申請」アプリ:
- フィールドコードが「出張申請番号」のレコード番号フィールドを追加する。
フィールドコード フィールドの種類 備考 出張申請番号 数値 「出張申請」レコードを特定するための番号です。
同じ「出張申請番号」の「出張申請」レコードに、「旅費精算申請」のテーブルデータを反映します。紐つけたい「出張申請」アプリのレコード番号を、こちらに入力します。
※「出張申請アプリ」の「出張申請番号」とフィールドコードを合わせてください。
※「必須項目にする」「値の重複を禁止する」にチェックしてください。 - サンプルプログラムをJavaScriptファイルに保存し、設定画面からファイルを読み込む。
※ファイルの読み込み方法は「JavaScriptやCSSでアプリをカスタマイズする」をご参照ください。
サンプルプログラム
「旅費精算申請」アプリのレコード追加・編集画面の保存成功後イベントで、
「旅費精算申請」アプリの「旅費」テーブルのデータを、「出張申請」アプリの「旅費」テーブルにも登録する処理になります。
動作確認
- 「出張申請」アプリに新規レコードを作成し、保存する。
- 「旅費精算申請」アプリに新規レコードを作成し、保存する。
- 「旅費」テーブルにデモ用のデータを登録する。 - 「旅費精算申請」アプリのレコード追加/編集画面を保存する際に、
「出張申請アプリに旅費精算申請データを反映しました」のメッセージが表示されたら、
1で作成した「出張申請」レコードの「旅費」テーブルに、データが反映されたどうかを確認する。
パターン2:標準機能のみで参照する
JavaScript を使ったカスタマイズの方法を紹介しましたが、
もう少し手軽にできる、標準機能を使った方法についてもご紹介したいと思います。
アクションボタンを押す作業があるなど、利便性に少し欠ける方法ですが、
ノンコーディングでできるので、ご興味のある方はぜひ試してみてください。
仕組み
「テーブルとして保存したいデータは、別のアプリに保存しておき、
そのアプリから、関連レコード機能を使ってデータを参照する」という仕組みになります。
今回の例で使うアプリの場合、
- 「旅費明細」アプリを作成する
- 「旅費精算申請」アプリのテーブルデータに相当する内容を、「旅費明細」アプリに保存する
- 保存された「旅費明細」アプリのデータを「旅費精算申請」「出張申請」アプリから、関連レコードを使って参照する
というイメージになります。アプリ間の関係図は下記になります。
1レコードにテーブル1行のデータを保存する、という運用になります。
完成イメージ
適用手順
- 「旅費明細」アプリ:
- 「旅費明細」アプリを新規作成する。
-「日付」「手段」「旅費摘要」「金額」「領収書」など、
「旅費精算申請」アプリのテーブルデータに相当する内容を保存するためのフィールドを追加する。
- フィールド名が「旅費申請番号」の文字列 (1行)フィールドを追加する。
- 追加するフィールドの詳細は下記をご参照ください。
フィールド名 フィールドの種類 備考 日付 日付フィールド 旅費の「日付」情報を入力します。 手段 ドロップダウン 旅費の「手段」情報を入力します。 旅費摘要 文字列(1行) 旅費の「旅費摘要」情報を入力します。 金額 数値 旅費の「金額」情報を入力します。 領収書 チェックボックス 旅費の「領収書」情報を入力します。 旅費申請番号 文字列(1行) 関連レコードとアクションの関連付けのキーとして利用します。
- 「旅費精算申請」アプリ:
- 「旅費」テーブルを削除する。
- アクション機能を設定する。
- アクションの設定の「フィールドの関連付け」で、
「No」フィールドと「旅費明細」アプリの「旅費申請番号」を関連付けさせる。
※アクションの設定方法はこちらをご参照ください。 - 関連レコード一覧フィールドを追加し、「旅費明細」アプリのデータを参照できるように設定する。
- 追加するフィールドの詳細は下記をご参照ください。
フィールド名 フィールドの種類 備考 旅費明細 関連レコード一覧 - 参照するアプリ:旅費明細
- 表示するレコードの条件:このアプリのフィールド「No」と参照するアプリのフィールド「旅費申請番号」
- 表示するフィールド:「旅費精算申請」アプリに表示させたいフィールド
- 関連レコードの設定方法詳細はこちらをご参照ください。
テーブルデータでは行える、標準機能の合計値の計算ができなくなります。
関連レコードにある金額データも含めて合計値を計算したい場合は、こちらの記事をご参照ください。
「テーブルデータの参照」部分の動作をまず試してみたい方は、
「旅費精算申請」の「旅費」テーブルを削除する際に、「旅費合計」計算フィールドも含めて削除してください。
- 「出張申請」アプリ:
- フィールドコードが「旅費申請番号」の文字列 (1行)フィールドを作成する。
(関連レコードとアクションの関連付けのキーとして利用) - 関連レコード一覧フィールドを追加し、「旅費明細」アプリのデータを参照できるように設定する。
- 追加するフィールドの詳細は下記をご参照ください。
フィールド名 フィールドの種類 備考 旅費申請番号 文字列(1行) 関連レコードとアクションの関連付けのキーとして利用します。 旅費明細 関連レコード一覧 - 参照するアプリ:旅費明細
- 表示するレコードの条件:このアプリのフィールド「旅費申請番号」と参照するアプリのフィールド「旅費申請番号」
- 表示するフィールド:「旅費精算申請」アプリに表示させたいフィールド
- 関連レコードの設定方法の詳細はこちらをご参照ください。
おわりに
今回のTipsで、アプリ間でテーブルのデータを参照する方法を紹介しました(^0^)/
他にも、データ参照でよく使われる関連レコードのカスタマイズや、
テーブルのほかの活用方法など、便利な情報がたくさんありますので、ぜひ確認してみてください♪
このTipsは、2022年10月版 kintone で確認したものになります。
記事に関するフィードバック
記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。