Ribbit works
記事のトップ画像

一覧・詳細画面でフィールド名を取得する【Kintone JavaScriptカスタマイズ】

JavaScriptKintone

last modified date2021-12-6

publish date2021-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]