関連レコード件数をフィールドに表示させリアルタイムで更新させたい

お世話になっております。今月kintoneを使い始め、javascriptなどの知識は全くない状態で躓いております。ご教示お願いいたします。

・実現したいこと
①予約集計アプリ …予約枠の管理(定員数、予約数、残席数の表示)
②の情報を参照して予約数のカウント・残席数の表示をしたい
②予約情報登録アプリ …予約フォームとして利用(人ごとの予約状況の管理)
予約する際、予約枠の定員数と残席数を関連フィールドとして表示させたい(オーバーブッキングを防ぐため)

現在、上記①アプリに②の情報を関連レコードとして表示しています。
関連レコードの件数を①内「予約数」フィールドへ反映させることには成功しましたが、詳細画面を編集しないと最新の数字が反映しない状況です(★)

最新の予約数が②アプリにて予約時にわかるように(もしくは満席だと予約できないように)したいと思っています。

(★)現在①アプリに追加しているjsは以下です。

こちらを参考にしてそのまま使わせていただいています。

//AAAにはカウントしたい関連レコードのフィールドコードを設定
//BBBには関連レコードの条件を設定。なおBBB1には関連レコードに対応しているアプリのフィールドコードを、BBB2には関連レコードを設置しているアプリのフィールドコードを設定してください
//CCCには関連レコードの件数を表示させたいフィールドコードを設定してください

(function() {
  'use strict';
  const events = [
    'app.record.edit.show',
    'app.record.create.show',
    ];
  kintone.events.on(events, function(event) {
    const appId = kintone.app.getRelatedRecordsTargetAppId('AAA');
    const query = 'BBB1="' + event.record['BBB2'].value + '"';
    const paramGET = {
      'app' : appId,
      'query' : query,
      'totalCount' : true
    };
    kintone.api(kintone.api.url('/k/v1/records', true), 'GET', paramGET, (resp)=> {
      event.record['CCC'].value = resp.totalCount;
      kintone.app.record.set(event);
    });
    return event;
  });
})();

知識がなく恐縮ですが、なにとぞご教示のほどよろしくお願いいたします。

もしくは満席だと予約できないように

これが最低限必要だと思いますので、
②のレコード保存時に①の残席数を確認して、残席数がなければエラーを出す、というような流れがいいかと思います

レコードを保存するときのイベントで、残席数を行ったあと、保存処理をキャンセルさせる方法・エラーを出す方法はあるのでそれを利用すると良いと思います。

知識がなく

方法としては上記の流れ、ということで、
実装自体はある程度知識がないとできないとおもいます。

などをぜひ参考に学習してみてください

1 Like

ご返信ありがとうございます。かしこまりました。確認いたします。