• line

kintoneで実施する入力支援、別のフィールドの値に応じた値の更新

kintone SI

他のフィールドと連携した入力支援

今回は他のフィールドの値に応じて別のフィールドの値を設定する入力支援を考えてみます。

IF文を利用した「計算」フィールドでの入力支援

「計算」フィールドの「計算式」を活用することで別のフィールドを参照した入力支援を実装することができます。
選択したカテゴリーに応じてカテゴリー番号を付与する支援を考えてみましょう。

野菜 → 1
果物 → 2
お肉 → 3

– + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + –
IF(カテゴリ=野菜,”1″,IF(カテゴリ=果物,”2″,”3″))
– + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + –

これで他のドロップダウンに応じて自動的にカテゴリー番号を付与することができます。
社内のみでの運用であれば「カテゴリー番号くらい覚えてくれ」、という運用も可能ですが、ゲストスペース等で外注業者と連動する場合等はこういったシステム化はマストではないでしょうか。
また、社内のみでの運用であっても入力間違いを防ぐことができ、集計などの後工程での工数削減にもつながります。

条件が複雑な場合はjavascript

条件が複雑な場合はjavascriptの活用を検討しましょう。
「計算式」は1行しか書けないため、条件が複雑になるとIF文のネストの嵐となり、想定通りに動作しなかったときの検証が大変です。
javascriptであれば任意の位置で改行ができますし、何よりswitch文などif文以外の制御文を使うことができます。
また、コメントを書くことができますので、処理の概要を書いておくとあとから何をしているか理解しやすくなります。

カテゴリ1とカテゴリ2の値の組み合わせでカテゴリ番号を付与するコードを例示します。
カテゴリ1は前項同様で、カテゴリ2が「買」の時は「A」、「売」の時は「B」とします。

– + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + –
switch (event.record.カテゴリ1.value) {
 case ‘野菜’ :
  if(event.record.カテゴリ2.value === ‘買’){
   event.record.カテゴリ番号j.value = ‘1A’
  } else {
   event.record.カテゴリ番号j.value = ‘1B’
  };
  break;
 case ‘果物’ :
  if(event.record.カテゴリ2.value === ‘買’){
   event.record.カテゴリ番号j.value = ‘2A’
  } else {
   event.record.カテゴリ番号j.value = ‘2B’
  };
  break;
 case ‘お肉’ :
  if(event.record.カテゴリ2.value === ‘買’){
   event.record.カテゴリ番号j.value = ‘3A’
  } else {
   event.record.カテゴリ番号j.value = ‘3B’
  };
  break;
};
– + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + – + –

条件元のフィールドに「空」の状態を認めるとエラー処理など煩雑になるので、初期値を設定し、「空」の状態を認めないなど運用方法を工夫しましょう。

計算式とjavascriptの使い分け

実際のコードとともにkintoneでの入力支援を例示しました。
それぞれのメリット・デメリットをまとめます。

計算式のメリット・デメリット
・標準の機能なので導入のハードルが低い
・コードのアップなどの煩雑さがない
・入力窓が1行しかないので条件が複雑になると何をしているのかわからなくなりやすい

javascriptのメリット・デメリット
・IF以外の制御文も使える
・コード全体を一覧できるので複雑な条件でも理解しやすい
・コメントを書くことで後からでも何をしようとしているのかわかる
・条件変更時のメンテナンスが若干煩雑

条件が簡単であったり、複数人で管理するような場合では計算式で対応したほうがスムーズでしょう。
必要に応じて実装方法を検討してみてください。


入力支援のカスタマイズをご紹介しました。
javascriptの知識が前提となりますが、kintoneのカスタマイズの可能性を感じていただけたかと思います。

ゴートップではkintoneを活用した業務の効率化のご相談を承っております。
現在の業務に課題を抱えている方は是非ゴートップにお問い合わせください。

詳しくは当社kintoneソリューションサービスのページをご覧ください。


お問い合わせ

  • line

お問い合わせ

お気軽にお電話ください。

0120-98-0016