見出し画像

DataCollect[データコレクト]で自由な自動採番

トヨクモサービスを使い倒してみようシリーズ第2弾です。
DataCollect(データコレクト)ちゃんを使います。

自動採番がしたい

kintoneで一意のコードとして使える自動採番をしたい。
用途はいろいろですが、よくある要望ではないかと思います。
kintoneの標準機能を使って「自動採番」を実現しようとすると…

  • レコード番号を利用する

  • 文字列一行フィールドや計算フィールドを使って日付などを組み合わせてユニークIDにする(採番とはちょっと違いますが)

などが考えられます。これでうまく運用できるのであれば全然OKでしょう。が、しかし…!
これらの方法だと運用上支障が出てくることもあります。

レコード番号

レコード番号は計算式に使うことができません。「自動で連番で採番してくれる唯一のフィールド」であるにも関わらず…!
レコード番号は単体でのみ活躍できる孤高の存在ということですね。
また、レコード番号は登録や上書きができないフィールドのため、他のkintoneアプリや他システムからデータを移行してきたときに、管理番号として利用することが困難になります。そのアプリのレコード番号で1から振り直しになっちゃう。

文字列一行フィールド/計算フィールドで計算式

これは先にも挙げましたが、「連番での採番」とは少し違います。あくまでレコード内のフィールドを組み合わせて、他と重複しない値を作り出すことができる、という話です。
また、計算結果が出るのが保存後という特性上、ルックアップやレコード読み込み時の一括更新のキー設定することはできません。

データコレクトなら!

ということで、やっとデータコレクトの出番です。
kintoneの値を一度データコレクトに呼び出し、データコレクト上で計算をしてkintoneに値を返すということができるサービスなので、番号を自由自在に作成することができます。
例えば…

こんなアプリを作りました。

ああっ!テストで2件登録して削除してから運用を始めたから、一番古いレコードが「3」スタートになってしまっているぞ!これはなんだかもやもやする!
こんな時にも。

フィールド名:自動採番(フィールドコード:No、フィールドの種類:数値)に計算式を投入。

予め数値フィールドを用意しておき、採番ルールを計算式で入れます。ここでは、レコード番号から2を引いた値を新しい採番ルールとしたいので、その式を入力。標準機能だとこんな風にレコード番号を使った計算はできませんが、データコレクトならラクラクです。

計算が適用できるタイミングは使うプランによって異なります。

【ライトコース】手動実行でボタンクリック時
【スタンダードコース】スケジュール設定して一括で定期実行
【プレミアムコース】webhookを利用して、アクション時に即時

弊社はスタンダードコースを利用しているので…スケジュールを設定して、定期的にデータを最新の状態にしておくようにします。
まず初めに「自動採番が空欄のとき」で絞り込み条件を選択して、「絞り込み条件をコピーします。

このボタンは不要な場合はデータコレクト管理画面から非表示にできます。
コピーした条件を更新対象の絞り込み条件に貼り付けて…

条件を設定したら、生成されたjavascriptファイルを対象のkintone管理画面からアップロードしておきます。
これだけ!

1から採番された~!!

計算結果がデータコレクトから投入された「自動採番」フィールドは、フィールドの種類としては「数値」フィールドです。自動採番をさせながら、レコード番号フィールドや計算フィールドを使ってしまうとできなかった他アプリとの連動が、できるようになります!

なお、採番ルールがあるということは誰でも編集できたら困るということ。そのため、私はよく全員から編集権限を外しておきます。データコレクトでの実行は「Administrator」で行われるため、自分も含めeveryoneに編集権限が無くても大丈夫。

工夫次第でいろいろ

今回は単純な引き算の例にしましたが、「Excelのように収集・計算」のキャッチの通り、実は関数もゴリゴリに使えるので、IF文で条件分岐もお手の物。他のアプリからのデータ参照も自由度が上がります。
もちろん、自動採番だけで使うなら、もっと安価なプラグインもあると思いますが、データコレクトの本領はまだまだ。
データコレクトって他のサービスに比べてググって出てくる紹介記事少なくない?ちょっとクセはあるけど便利なのに!驚きの値下げもしたのに!

個人的にはとっても気に入っているサービスなので、次回もっと他の例も紹介していきたいなと思う次第です。

トヨクモサービスを使い倒す他のnoteはこちら


この記事が気に入ったらサポートをしてみませんか?