NEWS

【kintone開発】文字列の結合で起こりがちなエラーとその解決方法を伝授!

2019.10.22
Jumpei Yamamoto

氏名と名前、住所(丁目・番地・マンション名など)、複数のフィールドに入力させて、それらを結合したいシーンって結構ありませんか?

kintoneの場合、フィールドの設定画面で「自動計算」を入力することで簡単に結合できちゃいます。

フィールドを”&”で繋げるだけで、自動的に結合された文字列が入力されるようになります。簡単ですね!

ただ、これで安心して運用しているとエラーに遭遇することになります。。。まずはこの要因から解説していきましょう。


文字列の結合で「N/A」になるエラーの要因

例のように住所を入力し結合して表示させたい場合、マンション名やビル名が省略されることってよくありますよね。

その場合は当然空欄になるわけですが、結合する対象のフィールドが”空欄(つまりnull)”の場合、結合後の文字列が「N/A」というエラーが表示されてしまいます。

これはもうkintoneの仕様なので仕方がありません。

それならばJavaScriptで実装してしまいましょう!


JavaScriptでフィールドの文字列を結合する方法

今回はあまり複雑なプログラムではないので、早速ソースコードを見ていきましょう。

// 新規登録時に起動
kintone.events.on('app.record.create.submit', function (event) {
  // レコード情報の取得
  var record = event.record;
  var prefecture = record['都道府県'].value;
  var city = record['市区町村'].value;
  var chome = record['丁目番地'].value;
  var apart = record['マンション名'].value;

  // フィールドの結合
  var address = '';
  if(prefecture){ address += prefecture; }
  if(city){ address += city; }
  if(chome){ address += chome; }
  if(apart){ address += apart; }

  // フィールドに結合した文字列を挿入
  record['住所'].value = address;
  return event;
});

 

これで実際に動かしてみると、、、


結合できましたね!


まとめ

今回のように、kintoneの基本機能だけでは”痒いところに手が届かない”ようなケースがあります。

ただ、JavaScriptでカスタマイズできるところもkintoneの便利な点の1つなので、軽微な改修は自分で実装してみるのも良いと思います。

文字列の結合は簡単に実装できるので、是非お試し下さい!

CONTACT
TwitterFacebook

NEWS