キンコミ kintone user community

みんなの投稿

採番について考える。伝票番号などにkintoneで番号を振るにはどうしようか、皆さん色々考えた事があるかと思います。もちろん「答えは100社100通り」ですね。
 
で、本当に100通りあるのか検証するのに面白いテーマかと^^;、ふと思いつきました。
 
1.手入力する
もっとも基本的^^;。別途採番台帳を作って管理している場合など。現状の運用が紙でかつ平行運用の必要がある場合はこれ。
 
2.レコード番号を使う
kintoneの仕様上絶対ダブらない。レコード削除で飛び番になったり、希望の番号を使えないのが許容できるならあり。
 
3.運用上ダブらないフィールドデータを使う
例えば「入力日付時間」+「入力担当者番号」など、仕様上はダブる可能性があるが運用上はまずダブらないという考え方で採番するという方法。
 
4.developer networkを利用する
自動採番プラグイン
https://developer.cybozu.io/hc/ja/articles/209715393-%E8%87%AA%E5%8B%95%E6%8E%A1%E7%95%AA%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3
 
5.gusukuカスタマインを利用する
自動採番を行う
https://docs-customine.gusuku.io/ja/actions/field/auto_number/
 
6.krewDataを利用する
kintone向けプラグイン「krewData」、自動採番を含む新機能を追加
https://krew.grapecity.com/news/newsrelease/20200610.htm
 
7.カスタマイズする
プログラムを組んで採番するのも、もちろん答えのひとつです。
 
8.自分で「採番プラグイン」を作る
プラグインの便利さと、カスタマイズの自由度を考えると、自作する選択肢もありかも。難しそうですが。^^;
 
9.「採番プラグイン」を作ってもらう
自分で無理なら、だれかにお願いしてオーダーメイドで作ってもらう。^^;
 
10.採番をやめる
本当に採番が必要か?既にあるフィールドで、レコードが容易に一意に確定できるなら、採番いらないかもと考えてみる。
 
後半苦しくなってきましたが、とりあえず10通り^-^;。あと90通りあるかなー。
 
ほか何か方法あればコメントください。ネタ可。^^;

3件のコメント (新着順)
kopata
2020/08/05 11:49

自分のところは「4.developer networkを利用する」です。
けど、プラグインなのでライトコースでは使えないですよね。
手軽に始めたいという人に「自動採番、標準機能ではできないんですよ」と言ってガッカリされた事があります。
ここは Cybozu さんに頑張って標準実装して欲しいなぁと思っております。
あと「2.レコード番号を使う」でもアプリコードを使うと「〇〇‐レコード番号」になって少しそれっぽくなりますね。


ko-hataさん
コメントありがとうございます。

「4.developer networkを利用する」ですか。なるほどいいですね。参考になります。確かにライトコースのユーザーさんまで考えたら標準機能で欲しいですね。

>「2.レコード番号を使う」でもアプリコードを使うと「〇〇‐レコード番号」になって少しそれっぽくなりますね。

そうですねアプリコードという手がありますね。そういえば私アプリコードを使ったことありませんでした。今度ちょっとやってみます。

「それっぽく」大事ですね。特に最初の導入時は見た目も大事。もしレコード番号を採番に使うとしたら、桁数合わすためにダミーレコードを1000レコードまで追加してから削除、アプリコード(例えばapl)「apl-1001」から本番データにするとかするかも^^;。「apl-9999」までは桁も揃っててそれっぽい。次「apl-10000」で桁あがっちゃうけど、その頃にはもうアプリも浸透して4桁でも5桁でもどっちでもいい話になってる事を期待。^^;

Cybozuさんが「自動採番」を標準機能として実装していないのには、何か深い理由があるのでしょうと思ってますが、ひとつの答えとしては、「アプリコード-レコード番号」で標準の採番機能としては充分という考えもあるのかもしれません。

ありがとうございました。

藤田 隆
2020/08/05 10:06

プラグインを作っているとお客様から自動採番についていろいろご要望をいただきます。
採番の要件としては、採番方法と採番のタイミング、動作環境があります。

1.採番方法
・文字列と連番
・日付(日、月、年、期)単位で連番
・項目値(部門、区分等)単位で連番
・区切り文字(-等)の有無
・複数アプリ共通の連番



2、採番のタイミング
・kintone レコード追加画面の採番
・kintone レコード編集画面の採番
・kintone ステータス変更時の採番
・kintone 一覧画面でボタンクリックによる採番
・csv 読み込み時の採番
・REST API レコード追加時の採番

3.動作環境
・PC、モバイル対応
・外部サービス(フォームブリッジ等)でレコード追加時の採番

採番方法については、採番ルールが決まればプラグインや JavaScript カスタマイズで実装は何とかなります。
採番のタイミングは、kintone 標準の追加・編集画面については、プラグインや JavaScript カスタマイズで対応可能です。
それ以外は、外部のしくみ(webhook、定期実行等)が必要になります。
ただし、kintone であまり大掛かりなしくみを作ってもしょうがないので、プラグインによる自動採番とマニュアル運用(ボタン操作など)あたりの組合せが落としどころになると思います。


藤田さん
プラグイン開発者様からのコメントありがとうございます。

そうですね。「採番」って結構奥が深いですね。仰る通り自社の規程や個人の好みまで含め多様な採番ルールが考えられます。実務でも採番キーに色んな意味付けをする場合もあれば、極力意味付けをしない場合もあります。

採番のタイミングも色々。単純に新規追加時に連番付与から、修正時は同じ番号を使いたいとか修正時は別途リビジョン番号を追加したいとか。データ削除時も空き番にするのか再利用可にするのか。

例えば採番マスタ的なものを用意するとしても、どのタイミングで発番?最低でも同時アクセスとかでダブらないように設計しないと。もちろん、もっと技術的な側面から実装可能かどうかの検討も大切ですし、あと、せっかくの採番をユーザーが勝手に変更しないような設定も忘れないようにしないと。。。

DBエンジニアの方ならサロゲートキー(代理キー)VSナチュラルキー(自然キー)みたいな話にもなって、それだけでお酒が飲めると思います。^^;

まあ、色んな偉い人が考えても「絶対コレ正解!」って事にはなってないので、仰る通り手ごろなとこで落としどころを探る姿勢が大事ですね。

「ボタンを押して採番する」これも私では思いつかなかったアイデアです。
大変参考になりました。
ありがとうございました。

kobochan
2020/08/04 11:05

これ、ゆくゆく必要になるだろうなと思って、一時期考えたことがあります。
考えた結果、運用上どこまで許容できるか、ルールはどう設定するかでやりかたが変わるので、「俺一人で悩んでも答えでねーなwww 」に至ってしまい、考えるの先送りにしてしまいました〜汗

紹介頂いた方法、参考にします!!メンバーがkintoneに慣れてきたとこ見計ってチームで議論してみたいとおもいます!


kobochanさん
コメントありがとうございます。

そうですよね、みんな一度は考えますよね。ひとりで考えててもしょうがないのでみんなで考えましょう!

100通りは、私だけではちょっと思いつきませんが、それでも考えたら色々思いつくのは、kintoneならではだなぁと思います。^^

もしこれが、特定言語ありきの開発なら「プログラムを組む」の一択が普通でしょうし、パッケージソフトなら「機能として提供されているかどうか」以外、選択の余地がないのが一般的だと思います。

参考になれば幸いです!^^