関連レコードの件数を取得するワザ

フォローする

はじめに

指定した条件にあてはまるレコードをフォームに表示する「関連レコード一覧」ですが
関連するレコードの数を取得することができません。

そこで今回は、アプリ同士の連携で、関連レコードとして紐づけられている
レコードの数を表示させるためのTipsをご紹介します。 

利用イメージ

例えば、顧客リストアプリと案件情報アプリで
顧客名で紐づけた関連レコードを利用している場合に
顧客リストアプリ内で関連した案件の数を把握したい場合に利用できます。

 

あるいは、レンタル品目一覧アプリとレンタル申請アプリを紐づけている際には
レンタル品目一覧アプリを確認することで、利用回数の多い備品を確認することなどが可能になります。

毎回、関連するアプリに移動し絞り込みやグラフの確認などをすることなく
関連レコードを設置したアプリからレコード数が確認できるようになるTipsです。

アプリの準備

まずは今回のTip用では、アプリストアにある営業支援(SFA)パックを利用し
すでに紐づけがされている顧客情報(Aアプリ)、案件情報(Bアプリ)を利用します。
なお、当Tipsのサンプルコードで必須となるフィールドは
関連レコード一覧と、スペースフィールドです。 

フィールド名 フィールドタイプ フィールドコード

案件一覧

関連レコード一覧

relation

(名前設定なし)

スペース

num

ついでに、スペースフィールドの近くにラベルを設置して
何を示している値なのかわかりやすくしておきましょう。

※この場合のラベル名は関連案件数としています。

サンプルコード

ソースコードの説明

kintone.Promiseオブジェクトでの非同期処理

kintone APIでPromiseを使ってみよう!のページで解説されているように
別アプリのデータを取得して処理を行う際にはkintone.Promiseの利用が推奨されています。
このサンプルでは上限100件までのレコードを指定して、
関連レコードで紐づけているBアプリのレコードの情報を取得しています。

この部分の解説については、Promiseを利用したモダンなアプリの全レコード取得の書き方
もあわせてご参照ください。

 

関連レコード数の値をスペースフィールドに反映

上記kintone.api()で取得したオブジェクトの数をスペースフィールドに反映させます。

スペースフィールドの利用については、kintone API解説シリーズレコード詳細にもボタンを設置しよう
kintone.app.record.getSpaceElementについて詳しく解説しています。

今回はというフィールドコードで設置したスペースフィールドに
値を反映させますので、関連レコードの項目を条件付きで集計と同じように
関連レコードに合致するレコードの数を、フィールドの近くに設置しました。


※上記サンプルの場合は一度に表示する最大レコード数を5件に設定していますが
 実際の案件情報アプリでの関連レコードは全部で6件登録されていることがわかりました。

おわりに

アプリ同士の連携を図る関連レコード一覧は標準機能で利用できるため
kintoneを活用するには欠かせない機能となっています。

さらに、今回のTipsでご紹介したカスタマイズを加えることで
より便利になると思いますので、お使いのkintoneアプリ用にアレンジを加えて
チーム内での情報活用にお役立てください。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。
Powered by Zendesk