はじめに

kintoneの数値フィールドは詳細画面では3桁のカンマ付き表示に出来るのですが、編集画面では桁区切り表示は出来ません。

とは言え、そういうニーズはあると思いますので、ある程度自動でカンマ付きにできるように作成してみます。


今回のカスタマイズで出来ること

数値フィールドに値を入れた時にこういう動きになります。


  • 半角で数値を入力するとカンマ区切りになる

  • 全角で数値を入力すると半角のカンマ区切りになる

  • カンマ区切りの数値に数字を挿入すると正しい区切りになる(1,000 → 1,1000 のような入力で、11,000になる)

  • 数字以外の文字が入力されたら値は消える

 

アプリには以下のフィールドを作成しました

フィールド名

フィールドコード

フィールドタイプ

処理フラグ

処理フラグ

チェックボックス

カンマ付き数値

カンマ付き数値

数値

 

Customineの設定

全体設定はこのようになります。


以下は個別に説明します。



フラグで処理開始を判定

レコード追加・編集画面を表示した時またはフィールドの値を編集して値が変わった時」に「フィールド値が空ならば」で「フィールドに値をセットする」を使って処理フラグが空の時だけ処理フラグに値をセットします。今回の動きは「カンマ付き数値」の値を何度も変更するのでこうすることで多重起動を防ぎます。

値を変換


最初に「数値に変換する」で全角やカンマなどを除去して数値だけにします。その後に「数値をフォーマットする」でカンマ区切りに変更した上で「フィールドに値をセットする」を使って数値フィールドにセットします。これは「数値をフォーマットする」では数値フィールドに値をセットできないためです。


終了処理でフラグをクリア

数値の変換が終わったら処理フラグをクリアします。


保存時の処理

念のために処理フラグをクリアにするのと、保存エラーにならないように数値フィールドを数値に変換します。

 

以上で終了です。

 

まとめ

最初に記載の


  • 数字以外の文字が入力されたら値は消える

 

という動きを

 

  • 数字以外の文字が入力されたら変換前の値に戻す

 

とすると便利そうですが、少々複雑になるので別の機会に紹介したいと思います。