フィールド名を取得する
にメンテナンス済み
kintone.events.on のコールバック関数の引数である event オブジェクトを利用することで、一覧または詳細画面に表示されているレコード情報を取得することができます。
ただ、ここから取得できるのはフィールドコードとそのフィールドタイプ、値のみで、フィールド名は含まれていません。
今回は特定の一覧に設定されている、フィールド名を取得する方法を紹介します。
サンプルコード
例として、レコード詳細画面で各フィールドのフィールド名を取得するコードを紹介します。 レコード一覧画面には event.record オブジェクトが存在せず、代わりに event.records となる点に注意してください。
kintone.events.on(['app.record.detail.show'], async (event) => {
/** レコード情報 */
const record = event.record;
/** フォームの設定情報 */
const { properties } = await kintone.api(
kintone.api.url('/k/v1/app/form/fields.json', true),
'GET',
{ app: kintone.app.getId() }
);
/** フィールドコードと対応するフィールド名 */
const pairs = Object.keys(record).map((fieldCode) => {
return [fieldCode, properties[fieldCode]?.label];
});
console.log(pairs);
return event;
});
実行結果
サンプルに使用したアプリでの実行結果です。
0: (2) ['レコード番号', 'レコード番号']
1: (2) ['更新者', '更新者']
2: (2) ['作成者', '作成者']
3: (2) ['更新日時', '更新日時']
4: (2) ['作成日時', '作成日時']
5: (2) ['name', '氏名']
6: (2) ['kana', '氏名(カタカナ)']
7: (2) ['seibetsu', '性別']
8: (2) ['phoneNumber', '電話番号']
9: (2) ['birthday', '生年月日']
10: (2) ['$revision', undefined]
11: (2) ['$id', undefined]
#JavaScript
#kintone