0.はじめに
kintone アプリ間で、相互に連携する関連レコードの一覧を表示したくて、ちょっと試してみました。
大枠の構成は、こちら。
流れとしては、以下。
- アプリBで、アプリAに登録されているレコードを選択する。
- アプリBの関連レコードに、選択されたアプリAのレコード情報が表示される。
- アプリAの関連レコードに、連携IDが選択された、アプリBの全レコード情報が表示される。
1.アプリAに、連携IDを追加する。
- アプリAに、連携用のIDの設定先として、自動計算を設定した文字列フィールドを追加します。
* ※ 作成日時から簡易的に作成した連携 ID なので、一秒以内に複数レコードの登録があると、ID の一意性が担保出来ませんので、その点ご注意下さい !!
* フィールド名 : ※任意 * 自動計算する : 〆 * DATE_FORMAT(作成日時, "YYYYMMddHHmmss", "system") * フィールドコード : ※任意
* 
2.アプリBに、アプリAの連携IDの設定先を追加する。
- アプリBに、アプリAの連携IDと紐付けを設定するルックアップフィールドを追加します。
* フィールド名 : ※任意 * 関連づけるアプリ : アプリA * コピー元のフィールド : アプリAに追加した連携ID * フィールドコード : ※任意
* 
3.アプリBに、関連レコード用の連携IDを追加する。
- アプリBに追加する関連レコードの「表示するレコードの条件」において使用されるフィールドとして、自動計算を設定した文字列フィールドを追加します。
* フィールド名 : ※任意 * 自動計算する : 〆 * ※アプリBに追加したルックアップフィールドのフィールドコード * フィールドコード : ※任意
* 
4.アプリBに関連レコードを追加する。
- アプリBに以下の設定で関連レコードを追加します。
* 参照するアプリ : アプリA * 表示するレコードの条件 : 〆 * アプリBに追加したルックアップフィールド * アプリAに追加した連携IDフィールド * フィールドコード : ※任意
* 
5.アプリAに関連レコードを追加する。
- アプリAに以下の設定で関連レコードを追加します。
* 参照するアプリ : アプリB * 表示するレコードの条件 : 〆 * アプリAに追加した連携IDフィールド * アプリBに追加したルックアップフィールド * [3.](https://qiita.com/drafts/5c91315936280dabcea7#%EF%BC%93%E3%82%A2%E3%83%97%E3%83%AA%EF%BD%82%E3%81%AB%E9%96%A2%E9%80%A3%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E7%94%A8%E3%81%AE%E9%80%A3%E6%90%BAid%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B) で作成した関連レコード用の連携IDでもOK * フィールドコード : ※任意
* 
99.ハマりポイント
- js 連携で出来るかと思ったんですが、js 連携でのレコード情報の更新は、「一覧表示」や「詳細表示」では許可されていないので、こういう形になりました。
- 1. でも記載しましたが、アプリAの連携IDはあくまで簡易的なものなので、一秒間に複数のレコード登録が発生しそうなアプリの場合には、js 連携を作って、ちゃんと一意性の担保される連携IDを作成した方が良いと思います。
XX.まとめ
今回こういうやり方をしましたが、もしかしたら、もっと簡単に出来る方法があるかもしれないので、良いやり方があれば、どうぞコメントお願いします。
🙇♂️🙇♂️🙇♂️
参考になれば♪