新規投稿
フォローする

関連レコード集計について

お世話になっております。

関連レコード集計についてお教えいただければと思います。

関連レコードの取得PTの合計を関連レコード下のスペース(要素ID:a)に表示させたいです。

参考サイトをもとに色々試しましたができませんでした。参考サイトは下記URLです。

https://qiita.com/RyBB/items/49793a3f9eae3550f185 

ご回答宜しくお願い致します。

(() => {
'use strict';

// フィールドコードとか
const common = {
app: kintone.app.getId(),
relatedRecordCode: 'アポ一覧',
spaceCode: 'a',
related_TotalFee: '取得PT'
};

// JS SDKのコネクションとか
const conn = new kintoneJSSDK.Connection();
const kintoneApp = new kintoneJSSDK.App(conn);
const kintoneRecord = new kintoneJSSDK.Record(conn);

// 詳細画面表示・編集画面表示イベントで発火
kintone.events.on(['app.record.detail.show', 'app.record.edit.show'], event => {
const promise = Promise.resolve();
promise.then(() => {
return kintoneApp.getFormFields(common.app, 'JA');
}).then(resp => {
return resp.properties[common.relatedRecordCode].referenceTable;
}).then(resp2 => {
const params = {
'app': resp2.relatedApp.app,
'query': resp2.condition.relatedField + '="' + event.record[resp2.condition.field].value
+ '" order by ' + resp2.sort + ' limit ' + resp2.size,
'fields': resp2.displayFields
};
return kintoneRecord.getRecords(params.app, params.query, params.fields, true);
}).then(resp3 => {
// 0件以下なら何もしない(計算いらない)
if (resp3.records.length < 0) {return; }

// 金額フィールドの値を配列に格納する
const numArray = resp3.records.map(index => {
return Number(index[common.related_TotalFee].value);
});

// 格納した配列の中身を集計する
const sum = numArray.reduce((pre, cur) => {
return pre + cur;
});

// カンマ区切り
const total = sum.toFixed(0).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');

// スペースフィールドに表示
kintone.app.record.getSpaceElement(common.spaceCode).textContent = total;
}).catch(err => {
console.log(err);
});
});
})();
0

2件のコメント

Avatar
江田篤史

村田湧斗さん

下記などを参考にコンソール画面にエラーが表示されていないか確認すると良いです.
動かない?そんな時はデバッグをしてみよう!入門編

また,下記では関連レコードの取得を行うためのライブラリをご紹介しているので,もしよろしければご利用ください.
【簡単】queryを書かずに関連レコードを取得&集計

0
Avatar
村田湧斗

江田篤史 様

ご回答ありがとうございます。

一度試させていただきます。 

0
サインインしてコメントを残してください。