はじめに
kintoneのフィールドの値はrecord[フィールドコード].valueで基本取り出せます。
例えば文字列フィールドにテキストというフィールドコードを設定し、こんにちはと入れていた場合、
record["テキスト”].valueとしてあげればこんにちはが取り出せます
少し異なるフィールドだけ羅列します。
テスト環境の画面
今回こんな感じの環境で見ていきます。
ユーザー選択(組織選択、グループ選択)
record["ユーザー選択"].valueで取得するとvalueの中に配列で各ユーザーの情報{code:ユーザーのコード, name:ユーザーの名前}が入っています。
例えば、一人目の名前だけ取得したければrecord["ユーザー選択"].value[0].name
ユーザー選択のメンバー全員の名前だけ取得してカンマ区切りの文字としたい時は、
const userNames = record["ユーザー選択"].value.map(user=>user.name).join(",")
mapでnameだけの配列を作ってjoinしてあげれば、ですね。組織とグループ選択も同じです。
チェックボックス
これも配列で返ってきます。値が入っているだけですのでこれもまたrecord["チェックボックス"].value[0]と書いたら1番目の値が取得できます。ちなみにチェックが入っている値のみが配列に入ってきます。チェックしてない値は配列には入ってこないです。
サブテーブル
kintoneで開発デビューした際に一番躓くポイントだと思います。恐らく。
このテーブルの値を見ていきましょう
例の如くrecord["テーブル"].valueとした時を見ると、

配列で各行のデータがオブジェクトで入っています。{id: 各行に自動で振られたid, value: 各行のフィールドデータ}となっています。さらに各行のvalue:フィールドデータを掘り下げると、
なっており、テーブル以外の普段使っているフィールドの情報が入っている形になります。
例えば、2行目のコメントを取り出したい場合は、record['テーブル'].value[1].value["コメント"].valueで取り出せます。

テーブルのデータ全部をどうにかしたい
そんな場合はまたfor文やmapで行数分確認していきます。
例として、レコードの詳細画面でテーブルというサブフィールドと、サブテーブルに金額という数値フィールドを設置しテストします。
(() => {
'use strict';
// レコードの詳細画面で実行していきます
kintone.events.on('app.record.detail.show', (event) => {
const record = event.record;
let total = 0;
// テーブルの回し方
record['テーブル'].value.map((row) => {
total += Number(row.value['金額'].value);
});
alert(total);
});
})();
おわりに
少し異なるフィールドの扱いをざっと書いてみました。
テーブルは慣れてくると楽しくなってくると思います。
それでは
楽しいkintoneライフを
参考




