何を実現したいのかを書きましょう
【関連レコード集計結果を数値フィールドに保存したいです】
お世話になっております。
関連レコードを集計し、スペースフィールドに表示するまでは、何とかできたのですが、その後、集計した結果をまた別で集計したいと言われてしまいました。このため、集計結果を数値フィールドにも出そうと四苦八苦しているのですが、出ません。
下記のコードでスペースフィールドに集計結果を出しているのですが、この後どのようにすれば、数値フィールドにも同じ集計結果を出力することができるでしょうか?
初心者のため、コードもお伺いの仕方もおかしいかもしれません。
何卒よろしくお願い申し上げます。
/*関連レコードの値を集計し、レコード詳細画面で表示する*/
(() => {
'use strict';
// 初期設定
const APP_KEY_FIELD = '社員番号'; // 関連レコードとリレーションするフィールドコード名
const APP_SPACE_ID = 'ResultSpace'; // 集計結果を表示したいスペースフィールドのIDを設定
const APP_DATE_FIELD = '給与月'; // 絞り込み条件に使用
const APP_CHECK_FIELD = 'チェックボックス';//絞り込み条件に使用
// 関連レコードのフィールド名で関連レコードのアプリIDをセットする
const RELATED_APP_ID = kintone.app.getRelatedRecordsTargetAppId('関連レコード一覧');
// 関連レコード側の検索・集計条件の設定
const QUERY_KEY_FIELD = '社員番号'; // 関連レコードを検索するフィールドコード名
const QUERY_TOT_FIELD = '計算'; // 関連レコードで集計するフィールドコード名(h)の方
const QUERY_DATE_FIELD = '締月';//絞り込み条件に使用
const QUERY_CHECK_FIELD = 'チェックボックス'; //絞り込み条件に使用
//関連レコードの検索クエリと集計を実行する関数
const displaySumInSpaceField = (event) => {
// 集計したい関連レコードの検索条件を設定
const QUERY_CONDITION = `${QUERY_KEY_FIELD}="${event.record[APP_KEY_FIELD].value}" and ${QUERY_DATE_FIELD}="${event.record[APP_DATE_FIELD].value}" and チェックボックス in ("同日作業なし")`;
const params = {
'app': RELATED_APP_ID,
'query': QUERY_CONDITION
};
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params, function(resp) {
let total = 0;
for (const record of resp.records) {
total += parseFloat(record[QUERY_TOT_FIELD].value);
}
const spaceElement = kintone.app.record.getSpaceElement(APP_SPACE_ID);
spaceElement.textContent = `上記給与月分の勤務時間の合計(時間): ${total.toLocaleString('en-US', { maximumFractionDigits: 2 })}`;
// 計算結果を表示するスタイルを適用
spaceElement.style.fontSize = '20px';
spaceElement.style.fontWeight = 'bold';
spaceElement.style.color = 'black';
spaceElement.style.marginLeft = '20px';
}, function(error) {
console.error('APIリクエストエラー: ', error);
});
return event;
};
kintone.events.on('app.record.detail.show', displaySumInSpaceField);
})();