kintoneのルックアップの落とし穴(その2)

今回はルックアップフィールドを重複禁止にしたい時の方法です。

半年前に書いた kintoneのルックアップの落とし穴(その1) はこちら。


使ったアプリ

以下の2つのアプリを使います。

  1. 社員マスタ

2. 社員マスタをルックアップして、社員の情報を入れるアプリ

フィールドはこんな感じです。

実現したい事

アプリ(社員マスタでは無い方)にレコード追加する際、社員ごとに1レコードだけ登録できるように制限したいケースがありました。

社員番号に対して重複を禁止できれば良いのですが、ルックアップフィールドには重複禁止の設定がありません。

↑ 右図では文字列フィールドと書いていますが、以下のフィールドタイプには重複を禁止する設定があります。

  • 文字列(1行)
  • 数値
  • 日付
  • 日時
  • リンク

試した事

「文字列(1行)」フィールドであれば重複禁止の設定が使える事を利用して、
重複禁止にした「文字列(1行)」フィールドを用意して、自動計算で社員番号をコピーすればいけるのでは!と考えました。

で、実際に試したところ・・・

自動計算を有効にすると、重複禁止の設定ができなくなる仕様でした(´;ω;`)

これはJavaScriptでカスタマイズするしか無いか・・・と思ったのですが、次の方法であればカスタマイズ無しで対応できました(∩´∀`)∩ワーイ

解決策

以下のようにアプリを変更します。

  • 「文字列(1行)」を追加し、重複禁止の設定を行う(ここではフィールド名を「社員番号(コピー)」としている)
  • 社員番号(ルックアップ)の設定で、「ほかのフィールドのコピー」に「社員番号(コピー)」フィールドの設定を追加する

はい、、、ルックアップでコピーしてあげるだけです・・・。

このように設定する事で、同じ社員番号のデータを追加しようとすると、重複禁止のエラーになるわけです。

注意点としては、既存のレコードには「社員番号(コピー)」に値が入っていないため、再ルックアップしてあげる必要があります。

その3へ続く(?)

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.