DataCollect[データコレクト]で自由な自動採番
トヨクモサービスを使い倒してみようシリーズ第2弾です。
DataCollect(データコレクト)ちゃんを使います。
自動採番がしたい
kintoneで一意のコードとして使える自動採番をしたい。
用途はいろいろですが、よくある要望ではないかと思います。
kintoneの標準機能を使って「自動採番」を実現しようとすると…
レコード番号を利用する
文字列一行フィールドや計算フィールドを使って日付などを組み合わせてユニークIDにする(採番とはちょっと違いますが)
などが考えられます。これでうまく運用できるのであれば全然OKでしょう。が、しかし…!
これらの方法だと運用上支障が出てくることもあります。
レコード番号
レコード番号は計算式に使うことができません。「自動で連番で採番してくれる唯一のフィールド」であるにも関わらず…!
レコード番号は単体でのみ活躍できる孤高の存在ということですね。
また、レコード番号は登録や上書きができないフィールドのため、他のkintoneアプリや他システムからデータを移行してきたときに、管理番号として利用することが困難になります。そのアプリのレコード番号で1から振り直しになっちゃう。
文字列一行フィールド/計算フィールドで計算式
これは先にも挙げましたが、「連番での採番」とは少し違います。あくまでレコード内のフィールドを組み合わせて、他と重複しない値を作り出すことができる、という話です。
また、計算結果が出るのが保存後という特性上、ルックアップやレコード読み込み時の一括更新のキーに設定することはできません。
データコレクトなら!
ということで、やっとデータコレクトの出番です。
kintoneの値を一度データコレクトに呼び出し、データコレクト上で計算をしてkintoneに値を返すということができるサービスなので、番号を自由自在に作成することができます。
例えば…
ああっ!テストで2件登録して削除してから運用を始めたから、一番古いレコードが「3」スタートになってしまっているぞ!これはなんだかもやもやする!
こんな時にも。
予め数値フィールドを用意しておき、採番ルールを計算式で入れます。ここでは、レコード番号から2を引いた値を新しい採番ルールとしたいので、その式を入力。標準機能だとこんな風にレコード番号を使った計算はできませんが、データコレクトならラクラクです。
計算が適用できるタイミングは使うプランによって異なります。
【ライトコース】手動実行でボタンクリック時
【スタンダードコース】スケジュール設定して一括で定期実行
【プレミアムコース】webhookを利用して、アクション時に即時
弊社はスタンダードコースを利用しているので…スケジュールを設定して、定期的にデータを最新の状態にしておくようにします。
まず初めに「自動採番が空欄のとき」で絞り込み条件を選択して、「絞り込み条件をコピーします。
条件を設定したら、生成されたjavascriptファイルを対象のkintone管理画面からアップロードしておきます。
これだけ!
計算結果がデータコレクトから投入された「自動採番」フィールドは、フィールドの種類としては「数値」フィールドです。自動採番をさせながら、レコード番号フィールドや計算フィールドを使ってしまうとできなかった他アプリとの連動が、できるようになります!
なお、採番ルールがあるということは誰でも編集できたら困るということ。そのため、私はよく全員から編集権限を外しておきます。データコレクトでの実行は「Administrator」で行われるため、自分も含めeveryoneに編集権限が無くても大丈夫。
工夫次第でいろいろ
今回は単純な引き算の例にしましたが、「Excelのように収集・計算」のキャッチの通り、実は関数もゴリゴリに使えるので、IF文で条件分岐もお手の物。他のアプリからのデータ参照も自由度が上がります。
もちろん、自動採番だけで使うなら、もっと安価なプラグインもあると思いますが、データコレクトの本領はまだまだ。
データコレクトって他のサービスに比べてググって出てくる紹介記事少なくない?ちょっとクセはあるけど便利なのに!驚きの値下げもしたのに!
個人的にはとっても気に入っているサービスなので、次回もっと他の例も紹介していきたいなと思う次第です。
トヨクモサービスを使い倒す他のnoteはこちら
この記事が気に入ったらサポートをしてみませんか?