ボタンで更新

いつもお世話になっています

一覧画面にてボタンを押したときに全レコードを読んでそこから計算をし、レコードの更新を行いたいのですがどうすればいいでしょうか?
https://cybozudev.zendesk.com/hc/ja/articles/201767270-%E7%AC%AC2%E5%9B%9E-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7%E7%94%BB%E9%9D%A2%E3%81%AB%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E7%BD%AE%E3%81%84%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86-とhttps://cybozudev.zendesk.com/hc/ja/articles/203702800-%E5%85%A8%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97%E6%96%B9%E6%B3%95を参考に組み合わせたのですがボタンを押した後TypeError: KintoneRecordManager is not a functionと出てしまい動きません
解決策があれば教えてください

https://cybozudev.zendesk.com/hc/ja/articles/203702800-%E5%85%A8%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97%E6%96%B9%E6%B3%95

https://cybozudev.zendesk.com/hc/ja/articles/201767270-%E7%AC%AC2%E5%9B%9E-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7%E7%94%BB%E9%9D%A2%E3%81%AB%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E7%BD%AE%E3%81%84%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86- です
くっつけてすいません

imukaさん
cstapの瀧ヶ平です。

意図している計算の処理やどのような実装をしているかはわかりませんが、全レコードを取得して開発者コンソールに表示するのであれば以下のようなコードになります。
レコードの更新に関してはこちらを参考に、レコード取得後の処理の中に実装すれば可能です。

/**
 * 全レコード取得
 *
 * @author Yuichi Ochiai <ochiai@cstap.com>
 */
(function() {
  "use strict";

  // レコード一覧画面
  kintone.events.on('app.record.index.show', function(event) {
    var manager = new KintoneRecordManager;
    if (document.getElementById ('my_index_button') != null) {
        return;
    }

    var myIndexButton = document.createElement('button');
    myIndexButton.id = 'my_index_button';
    myIndexButton.innerHTML = '一覧のボタン';

    // ボタンクリック時の処理
    myIndexButton.onclick = manager.getRecords(function(records) {
      // レコード取得後の処理
      console.log(records);
    });

    kintone.app.getHeaderMenuSpaceElement().appendChild(myIndexButton);

    return event;
  });

  /**
   * kintoneと通信を行うクラス
   */
  var KintoneRecordManager = (function() {
    KintoneRecordManager.prototype.records = []; // 取得したレコード
    KintoneRecordManager.prototype.appId = null; // アプリID
    KintoneRecordManager.prototype.query = ''; // 検索クエリ
    KintoneRecordManager.prototype.limit = 100;  // 一回あたりの最大取得件数
    KintoneRecordManager.prototype.offset = 0; // オフセット

    function KintoneRecordManager() {
      this.appId = kintone.app.getId();
    }

    // すべてのレコード取得する
    KintoneRecordManager.prototype.getRecords = function(callback) {
      kintone.api(
        kintone.api.url('/k/v1/records', true),
        'GET',
        {
          app: this.appId,
          query: this.query + (' limit ' + this.limit + ' offset ' + this.offset)
        },
        (function(_this) {
          return function(res) {
            var len;
            Array.prototype.push.apply(_this.records, res.records);
            len = res.records.length;
            _this.offset += len;
            if (len < _this.limit) { // まだレコードがあるか?
              _this.ready = true;
                if (callback !== null) {
                  callback(_this.records); // レコード取得後のcallback
                }
            } else {
              _this.getRecords(callback); // 自分自身をコール
            }
          };
        })(this)
      );
    };
    return KintoneRecordManager;
  })();
})();