shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【kintone】フィールド名は「フィールドコードで使用できる文字種に合わせて付ける」が基本

kintoneでアプリを構築するとき、フィールド名をどのように決めていますか?

「画面で見やすければOK」 「分かりやすいようにカッコ( )や記号を入れよう」

実は、その時の「良かれと思った命名」が、後々の設定作業やメンテナンスの手間を増やす原因になることがあります。

今回は、「フィールド名は、フィールドコードで使用できる文字種に合わせて付ける」という基本についての備忘録です。

内容:

そもそも「フィールドコード」とは?

kintoneの各フィールドには、以下の2つの「名前」が存在します。

  1. フィールド名:画面上に表示される、人間が読むためのラベル。
  2. フィールドコード:計算式、JavaScriptカスタマイズ、API連携などで、システムがフィールドを特定するために使う「内部的な識別名」。
    フィールドコードの初期値は”文字列__0” のような値が自動設定されます。

そして重要なポイントが一つあります。

kintoneのアプリ設計でフィールドを新しく作る時、フィールド名をそのままコピーしてフィールドコードに設定するということです。

フィールド設定画面の比較。左はフィールド名が「件名」でフィールドコードは自動生成されたもの。右はフィールドコードが「件名」に変更されフィールド名と一致している状態。
フィールドの設定画面

なお、kintone公式ヘルプでも以下のように記載されています。

フィールド名と同じ文字列をフィールドコードに設定すると、計算式を記述するときや、あとから計算式を確認するときなどにわかりやすくなります。

出典:フィールドコードとは | kintone ヘルプ

「フィールド名=フィールドコード」にするメリット

「フィールド名」と「フィールドコード」を一致させておくと、次のようなメリットがあります。

① フィールドコードからフィールド名が分かる

フィールドコードは計算式やJavaScriptのカスタマイズでよく利用します。そのときに、フィールド名と一致したフィールドコードにしておくと、フィールドコードの名前確認が容易になります。

② 計算式の設定やカスタマイズでのミスが減る

フィールドコードの初期値は 文字列__0 のような自動生成された名前です。このままだと、計算式を設定する際にどのフィールドを指しているのか判別しにくく、ミスを誘発します。 内容を表す「フィールド名」と一致したコードにすることで、一目で正誤が判断できるようになります。

③ メンテナンスや引き継ぎがスムーズになる

担当者が変わったとき、コードが意味のある日本語(または英語)で名称と一致していれば、エクスポートしたデータなどからアプリの構造を把握しやすくなります。 文字列__0 のような自動生成された名前を残したアプリを解読する時間は、実務において大きな損失です。

フィールドコードに使用できる文字の制限

「フィールド名はフィールドコードの仕様に合わせて付ける」というルールを実践する上で、知っておくべき制限があります。

kintoneの仕様上、フィールドコードに使用できる文字は以下のとおりです。 なお、アプリ内で重複したフィールドコードは使用できません。

ひらがな
カタカナ(半角/全角)
漢字
英数字(半角/全角)
一部の記号
半角の「_」(アンダースコア)
全角の「_」(アンダースコア)
半角の「・」(中黒)
全角の「・」(中黒)
全角の通貨記号($や¥など)
出典:フィールドコードとは|kintone ヘルプ

逆に使用できない文字や自動置換される主な文字は以下です。

  • -(ハイフン)
  • 空白
  • 先頭の数字
  • 「①、②、③…」
  • 「(1)、(2)、(3)…」

つまり、フィールド名と同じ文字列をフィールドコードに設定するためには、 フィールド名をつける段階で「フィールドコードで使用できる文字種に合わせて付ける」の考慮が必要ということです。

応用:ユーザーへの見せ方とシステム側の両立

「でも、ユーザーにはカッコ付きで見せたい」という場合もあります。その場合は、以下の運用が効率的です。

  1. ラベル機能の活用:画面上の表示(カッコや記号を使いたい部分)には「ラベル」フィールドを使い、入力項目自体のフィールド名はシンプルにします。
  2. フィールド名の非表示:アプリの設計時、フィールド設定で「フィールド名を表示しない」にチェックを入れます。
  3. フィールド名とフィールドコードの統一:フィールド名自体はコードの仕様内(記号なし)で作成し、コードと一致させます。

この構成なら、データのエクスポートや集計時にも項目名が重複せず、システムとしても扱いやすいアプリにできます。

なお、外部システムとの連携でフィールドコードを英数字のみにする必要がある場合は、別途対応してください。

まとめ

  1. フィールド名は仕様内の文字(漢字・かな・英数・アンダースコア等)でつける
  2. 記号や先頭数字を避け、フィールド名とコードを一致させる

まずはこの基本を押さえることでアプリのメンテナンスもしやすいものになります。