他に同様の質問がないか、探したのですが探しきれずご迷惑かと思いつつも質問させていただきます。
Javascriptのジャもわかっていないのですが、一覧表示させた内容を合計するものを見よう見まねで作成しました。
悩みに悩んで、何とか見栄えは二の次で作ることができました。
ですが一覧表示が20行を越えて次のページに行くと、その合計はそれぞれのページで合計してしまい、総合計になりません。
一覧表示の表示行数を無限にできれば!と思うのですが、どうしたものかと。
以下は、稚拙ながら書いたJavascriptです。
一覧表示を1ページで何とかするか、全ページに渡って計算するJavascriptにするか、ご教授ください。
よろしくお願いいたします。
(function() {
“use strict”;
kintone.events.on(‘app.record.index.show’, function(event) {
// 0件Hit対策 if (!event.size) { return;
}
var records = event.records;
var soNyukin = 0
var soSyukin = 0
var soZandaka = 0
// 取得レコードループ
for (var i = 0; i < records.length; i++) {
var record = records[i];
var nyukin = parseInt(record[‘入金’][‘value’], 10);
var syukin = parseInt(record[‘出金’][‘value’], 10);
var zandaka = parseInt(record[‘残高’][‘value’], 10);
soNyukin += nyukin;
soSyukin += syukin;
soZandaka += zandaka;
}
// 残高計算 var soZandaka2 = soZandaka + soNyukin - soSyukin
// 表示出力部分
var myHeaderSpace = kintone.app.getHeaderSpaceElement(); myHeaderSpace.innerHTML = ’ この一覧表示の入金総額は’ + ‘¥’ + soNyukin + ’ 出金総額は’ + ‘¥’ + soSyukin+ ’ 残高は’ + ‘¥’ + soZandaka2; });
})();
okamoto koji さん
アプリに登録されている全レコードの総合計を求めたいのでしょうか。
var records = event.records; だと、一覧画面に表示されているレコードしか取得できません。
そのため、records.length も1ページに表示されている件数になります。
全レコードを取得する場合は、REST API で一括取得する必要があります。⇒ こちら
REST API での全レコード取得の書き方はこちらが参考になるかと。
緑茶マニア様 ご回答ありがとうございます。
「var records = event.records; だと、一覧画面に表示されているレコードしか取得」
なるほど、そういう意味だったんですね。ど素人なので、呪文かと思ってました。
ただ、今回は条件で絞り込んだものに合計を求めたいので、全レコードだと目的が達成できないのです。
詳細に申し上げれば、何月の何日から何月の何日までの期間で絞り込んで、その結果の入金・出金・残高の計算をしたいのです。いわば家計簿のような感じです。
一覧表示で絞り込んだレコードの計算なので、私が作成したものだと、ページ分けされてしまう一覧だと合計ができなくて困っています。
単純に1ページで検索したレコードが表示されれば、稚拙なプログラム?でも計算できるかな?と思ってます。
まずは、ご回答に嬉しく思ってます。ありがとうございます。
緑茶マニア様 ご紹介いただいたkintone API ?の中に 「レコードの取得(GET)」があり、関数に前月というものが指定できるようで、何だかこれで挑戦してみようかなという気持ちになりつつあります。(いばらの道ですが)
Javascriptも平行して勉強しつつ、kintone API ?の書き方も含めて、熟読してみます。(達成できるかなぁ、、、)
まずは、ありがとうございました。
okamoto koji さん
kintone の REST API を使った Javascript のサンプルいろいろありますよ。
■JavaScriptを使用したkintoneのカスタマイズ
https://developer.cybozu.io/hc/ja/articles/200730174
■はじめよう kintone API
https://developer.cybozu.io/hc/ja/articles/211029283
■kintone JavaScript API
https://developer.cybozu.io/hc/ja/sections/200143874
丸写しして動きを検証してみたら解り易いかもしれません。