
一覧・詳細画面でフィールド名を取得する【Kintone JavaScriptカスタマイズ】
2021-12-6
2021-12-5
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]