初めての投稿となります。よろしくお願いします。
kintone)レコード一覧画面 集計について で一覧画面の上部に小計の合計を表示していますが、試してみたところ現在表示されている20行分しか合計されていないようで、これを全ての行を合計するようにすることは可能なのでしょうか。
また、確度が「A」の行のみを集計するということは可能なのでしょうか。
お手数ですが、ご教示よろしくお願いします。
初めての投稿となります。よろしくお願いします。
kintone)レコード一覧画面 集計について で一覧画面の上部に小計の合計を表示していますが、試してみたところ現在表示されている20行分しか合計されていないようで、これを全ての行を合計するようにすることは可能なのでしょうか。
また、確度が「A」の行のみを集計するということは可能なのでしょうか。
お手数ですが、ご教示よろしくお願いします。
こばやしさん
イベントオブジェクトのレコードは、表示されている分しか保持しないので、そのようになっています。
全件取得したいのであれば、REST APIを使用する必要があります。
また、APIを使用すれば、「確度がAのレコード」のみを取得することが可能です。
https://developer.cybozu.io/hc/ja/articles/202331474#step2
HANSA様
ご回答ありがとうございます。
重ねて申し訳ないのですが、REST APIを使用した場合の集計方法が載った記事等をご存知でしたら、お教えいただきたいです。
お手数ですが、よろしくお願いします。
集計方法については、
集計する記事は知りませんが、
ご質問時に貼っていただいたリンク先のコードが使えそうです。
event.records.reduce(function(previousValue,record){returnpreviousValue+Number(record.小計.value);},0).toLocaleString();
上のコードはevent.recordsに対して、reduce()を使って合計を出していますが、
APIを使う場合は、GETリクエストのレスポンスに対し、reduce()を使用すれば、集計可能かと思います。
https://developer.cybozu.io/hc/ja/articles/202331474#step2
レスポンスとはこの記事のサンプルコードでいうrespです。
ご回答ありがとうございます。
教えていただいた内容で、下記のようなコードで組んだところ望む結果が得られました。
(function() {
“use strict”;
kintone.events.on(“app.record.index.show”, function(event) {
var params = {
app: 1,
query: “確度 = "A"”
};
kintone.api(‘/k/v1/records’, ‘GET’, params, function(resp) {
//success:小計行の合計をヘッダーに表示する
kintone.app.getHeaderMenuSpaceElement().innerHTML =‘合計:’ + resp.records.reduce(function(previousValue, record) {
return previousValue + Number(record.小計.value);
}, 0).toLocaleString();
}, function(resp) {
//error:エラーの場合はメッセージを表示する
var errmsg = ‘レコード取得時にエラーが発生しました。’;
//レスポンスにエラーメッセージが含まれる場合はメッセージを表示する
if (resp.message !== undefined) {
errmsg += ‘’ + resp.message;
}
alert(errmsg);
})
});
})();
大変助かりました。ありがとうございました。