配列からの一覧作成方法について

アプリから取得したデータを配列に格納後、配列の内容をkintone標準の

書式で一覧表示したいと考えています。

下記方法で、配列にデータを格納できたのですが、その配列を一覧に

表示する方法が分かりません。

勉強不足で、イベント部分の処理がまったく外れな処理だと思いますが

何かヒントになる情報など頂けると助かります。

よろしくお願い致します。

 

<取得部分>

function fetchRecords(appId, opt_offset, opt_limit, opt_records) {
var offset = opt_offset || 0;
var limit = opt_limit || 100;
var allRecords = opt_records || [];
var key1, key2, key3, key4, key5;
var params = {app: appId, query: ‘AAA = “” order by BBB asc limit ’ + limit + ’ offset ’ + offset};
return kintone.api(’/k/v1/records’, ‘GET’, params).then(function(resp) {
if (resp.records) {
var obj = resp.records;
for (var j = 0; j < obj.length; j++) {
key1 = obj[j][‘XXX’][‘value’];
key2 = obj[j][‘YYY’][‘value’];

allRecords.push({code: key1, name: key2});  

}
}else {
event.error = ‘情報が取得できません。’;
}
if (resp.records.length !== limit) {
return fetchRecords(appId, offset + limit, limit, allRecords);
}

return allRecords;
});
}

<イベント部分>

kintone.events.on([‘app.record.index.show’], function(event) {
var appId = kintone.app.getId();

if ( event.viewId !== 5318454 ) {
return;
}

event.records = fetchRecords(appId);

});

Toshinori Hasegawa さん

カスタマイズビューを利用して、取得したレコードを一覧表示することができます。この方法については

第7回 カスタマイズビューを利用してみよう

https://cybozudev.zendesk.com/hc/ja/articles/202905604-第7回-カスタマイズビューを利用してみよう 

が参考になるかと思います。

ただ、「kintone標準の書式で一覧表示」には、そぐわないかもしれません。

ちなみに、取得してくるレコードが自APPのものであれば、APIを使って取得するのではなく、URL内にクエリー文を埋め込んで、一覧を表示することも可能です。

URL内のクエリで、表示するレコードの条件を指定

https://cybozudev.zendesk.com/hc/ja/articles/202388664-URL%E5%86%85%E3%81%AE%E3%82%AF%E3%82%A8%E3%83%AA%E3%81%A7-%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%9D%A1%E4%BB%B6%E3%82%92%E6%8C%87%E5%AE%9A 

こちらの方がやりたいことに近しいかもしれませんね。

ありがとうございます。

そうなんです。見た目をkintone標準にあわせたいです。

また、情報提供不足で申し訳ありません。

最終的にやりたい事は、担当者毎の進捗管理(全X件中Y件完了 進捗Z% みたいな)を

やりたいと思っています。

そこで、下記順番で情報を集計し、一覧表形式で表示したいと考えていました。

1.担当者毎の件数を取得

2.担当者毎の 工程Aまで完了 の件数を取得

3.進捗率を計算

4.一覧形式で表示

担当 件数 完了件数 進捗


佐藤 50 10 20%

なるほど。

「見た目をkintone標準にあわせる」と「担当者毎の進捗表示」

の両立ですね。

1)初めに提示頂いたソースの event.records = fetchRecords(appId); の様な形で、event.recordsにレコードを放りこんで、kintone標準一覧の見た目で表示することができるかは、私はわかりません。これできたら面白いですね。

2)カスタマイズビューを使う場合は、がんばって、見た目をkintone標準に極力近づける事になると思います。

3)私がやるとしたら、少し手抜きですが、 進捗表示APP を別途作ります。

一覧表示の前処理で、担当者毎の進捗率を集計して、進捗表示APPにレコード生成。

レコード生成部分はロジックを書く必要がありますが、表示についてはkintone標準でそのまま出すだけなので楽です。

簡単ですが、所見まで。

ありがとうございます。

1)無知故のコードです。全然ダメダメです。

2)そうですよね。がんばります。

3)なるほど!その手がありましたか。少し試してみます。

別件になりますが、kintone のクエリではいわゆる集計関数などは無いですか?

例えば・・・select sum(a) as cnt from T group by a のような集計

絞り込み条件で取得したレコードをグルグル回してカウントするしかないのでしょうか?

 

集計関数は私の知る限りないです。

すごくほしいので、サイボウズさんにはぜひ頑張って頂きたいところです。

今のところ、私は、取得したレコードをグルグル回す方法で集計しています。

ありがとうございました。

まったくイメージがつかめてなかったのが、少し方向性が見えてきました。

感謝です。