関連レコードの件数を詳細画面と一覧画面に表示させたい

以下リンクより、営業支援パックの顧客管理アプリで関連レコードのレコード数をスペースフィールドにセットすることはできました。

ただ、スペースフィールドではなく、数値フィールドにセットし、レコード詳細画面と一覧画面上でレコード数を表示させる方法がよく分からず教えていただけますと幸いです。

現在顧客管理アプリにて設定しているJSファイルは以下の2つとなります。
(上記リンクでご紹介いただいているものをそのままコピーして使っております)

■RelatedRecordsFieldManager.js

window.RelatedRecordsFieldManager = (function(fieldCode){
  var RelatedRecordsFieldManager = function(fieldCode){
    this.fieldCode = fieldCode;
    this.property = this.fieldProperties[fieldCode].referenceTable;
    this.targetAppId = this.property.relatedApp.app;
  }
  RelatedRecordsFieldManager.prototype = {
    selfAppId: kintone.app.getId(),
    records: [],
    limit: 500,
    getFieldProperties: function(){
      return kintone.api(kintone.api.url('/k/v1/app/form/fields', true), 'GET', {
        app: RelatedRecordsFieldManager.prototype.selfAppId,
      }).then(function(response){
        RelatedRecordsFieldManager.prototype.fieldProperties = response.properties;
      });
    },
    query: function(record){
      return (
        this.property.condition.relatedField +
        '="' +
        record[this.property.condition.field].value +
        (this.property.filterCond ? '" and ' : '"') +
        this.property.filterCond
      );
    },
    getRecords: function(record){
      var _this = this;
      return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {
        app: this.targetAppId,
        query:
          this.query(record) +
          ' order by ' + this.property.sort +
          ' limit ' + this.limit +
          ' offset ' + this.records.length
      }).then(function(response){
        _this.records = _this.records.concat(response.records);
        return response.records.length === _this.limit ? _this.getRecords(record) : _this.records;
      });
    }
  }
  return RelatedRecordsFieldManager;
})();

■sample.js

(function () {
    "use strict";

    kintone.events.on(['app.record.detail.show', 'app.record.edit.show'], function (event) {
        // まず、アプリのフィールド設定を取得しておく
        RelatedRecordsFieldManager.prototype.getFieldProperties().then(function () {
            // 関連する案件一覧のレコードを取得する
            (new RelatedRecordsFieldManager('案件一覧'))
                .getRecords(event.record)
                .then(function (records) {
                    // space1に合計費用の合計値を表示
                    kintone.app.record.getSpaceElement("space1").innerHTML = records.reduce(function (sum, record) {
                        return sum + Number(record.合計費用.value);
                    }, 0).toLocaleString();
                });

            // 関連する活動履歴のレコードを取得する
            (new RelatedRecordsFieldManager('活動履歴'))
                .getRecords(event.record)
                .then(function (records) {
                    // space2にレコード数を表示
                    kintone.app.record.getSpaceElement("space2").innerHTML = records.length;
                });
        });
    });

})();

恐れ入りますが、よろしくお願いいたします。

というのは、毎回更新&保存したいということでしょうか??

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。