kintone(キントーン)構築会社 ペパコミ株式会社です!
こちらの記事はkintone活用ちゃんねるというyoutubeチャンネルで公開している動画の
文字起こしVerとなっております。
どうも!kintone活用ちゃんねるのハルクです!
今日のkintone活用事例は
「kintoneアプリのユニークコードにレコード番号はどうなの?」
について語ります~
今日はkintoneアプリのユニークコードについてです!
ユニークコードとは他と被らないコード ですね
顧客コードとか案件コードとか
例えば関連レコードで顧客名と紐づけて表示するときに
同じ顧客名って世の中ありますよね?
そういう時って違う顧客なのに 同じ顧客として関連レコード表示されてしまいます
ちなみに関連レコードの意味とかは説明しないで ペラペラしゃべりますよ
これだと正しい関連表示が出来ませんよね?
そういう時に絶対に被らないものとしてユニークコードを使います
キーとかユニークキーとかも表現したりしますね
で、その中でよく質問があったり議論になるのが
「レコード番号をユニークコードとして使えないの?」です
レコード番号にはデメリットがあるので 宣伝を挟んでからお話します
このチャンネルは、
kintoneの構築・運用コンサル会社であるペパコミが運営しております。
kintoneを活用した事例や基本操作から応用操作まで
kintoneに関する情報を幅広く発信しておりますので
是非チャンネル登録をお待ちしています
それでは早速内容にいきま〜す!
レコード番号とは?
まずレコード番号について簡単に説明すると
レコードが生成されるとkintoneのシステムで自動付与されるものです
これは数字なので 1レコード目なら「1」 2レコード目なら「2」というふうに
フィールド設定していようがしていなかろうが 自動で採番されます
そのためユニークコードになるから レコード番号でもいいんじゃないか?と思われがちです
まあ実際 レコード番号はルックアップでも関連レコードでも設定できますからね
ただ結論としては ユニークコードとしてレコード番号の設定は僕はオススメしません
レコード番号をオススメしない理由
ちょっとマニアックな話しますから ユニークコードの話に興味ある人は
ある程度フィールドの概念を知っている前提で話すのでご了承下さい
今度フィールド毎の詳しい解説動画も撮ったほうがいいかもな~・・w
理由としては色々あるんですが 大きく1つですね
1つだけなのでしっかり聞いておいてほしいです!ちょっとマニアックですからね
レコード番号って 柔軟性皆無 なんですね
ひたすら1から積み上げていくだけなんですよ もう脳死状態で
なので アプリを統合したりする時に関連付けが破綻します
例えば顧客アプリと案件アプリを関連付けしていたとします
関連キーはレコード番号です
顧客アプリでは3レコードあります 顧客アプリのレコード番号は1,2,3ですね
で 案件アプリに顧客アプリのレコード番号1のレコードを
ルックアップでレコード番号取得すると 案件アプリのフィールドにレコード番号1が入りますよね
これで関連付けられますよね 案件のレコード1と顧客のレコード1
ただkintoneでたまにあるのが マスタを統合したい!
例えば 顧客アプリのデータを取引先アプリに統合したい!となったとします
するとレコードを 取引先アプリに持ってこなければいけないんですよ
この時にレコード番号を関連キーにしていると その関連キーが壊れるんですよ
レコード番号って1から順番に採番するので 複数アプリを統合するとズレますよね
さっきまで「1」で関連付けされていたものが
取引先アプリに行った途端「8」になったりするんですよ
で 案件はそのまま「1」みたいな
で そうなっちゃうと関連付けされなくなっちゃいますよね
これを解消するには
再度案件アプリのルックアップ設定をやりなおして ルックアップ取得を全部やり直さないといけないんです
更に案件アプリの先に活動履歴アプリや 請求アプリなど色々繋がってるともうマジでカオスですよ
それぞれ重複禁止設定して ルックアップ取り込み反映なんて
やったことある人は分かると思いますがマジ地獄なんですよw
だから これを避けるためには 新しい取引先アプリで
数値フィールドを用意して統合元の顧客アプリのレコード番号を取引先アプリの数値フィールドに入れる
という手もあります 移行するときにね
レコード番号から取引先の数値フィールドにレコード番号を移す みたいな
そうすると関連付けは壊れないんですよ
これも1つの手だとは思うんですが問題があるんですよ
それは取り込んだ後の 取引先アプリの今後の採番どうするの問題
これね・・・大丈夫かなw
自分で説明していて絶対伝わっていない気がするんですけど
画面をわざわざ用意しても伝わる気がしなかったので喋りだけにしてます
なんとなく感覚だけつかんでくれたら良いです
とりあえず分かる人だけついてきてくださいw
で 取り込んだ後の採番はどうするの問題について
だって そのまま数値フィールドに成り代わったわけですから
レコード番号のように自動採番されないわけですよ
自動採番プラグインとかも使えばいいんじゃないかと思うかもしれないんですが
あれって基本 文字列フィールドしか使えないんです
なので数値フィールドでどうにか以降の新規レコードの自動採番をする手立てがないんですよ
開発する以外に
というように 要はですね 色々あの手この手を使わないと
レコード番号を使っていることの弊害を解消が出来ないというのが現実なんです
いいですか 今の話よく分からない人はこれだけ覚えておけばいいです こっから!w
結論としてはレコード番号はユニークコードとして使うな!
ってところですね! それだけ覚えてもらえればいいかなと
ユニークコードは何にすべき?
レコード番号がダメなら何にしたら良いんだ? ってところなんですが
これは僕の結論としては 自動採番プラグインなどを使ったユニークコードで僕は良いと思います
勿論これもメリット・デメリットあるのですが どの採番方法もメリットデメリットあります
それらのバランスが最も良いのが 自動採番プラグインなどを使った独自採番がいいと思います
その他にもフィールドを組み合わせた 意味を持たせた採番などをしている会社もありますね
このあたりは自社で構築するならよく考えるべきで
kintone構築を開発会社に依頼するなら 全体設計から見て適切なユニークコードを提案してくれると思います
まとめ
再度いうと 結論としてユニークコードは自動採番プラグインによる採番がオススメ
レコード番号はやめておけ! って感じです
自動採番プラグインのオススメは無料プラグインランキングで紹介している
アディエム もしくは ATTAZoo+かなと
これは有料ですけどね ということで以上になります!
これからもkintoneの役立つ情報を発信していきますので
チャンネル登録をお待ちしております!
本日もありがとうございました!また次回お会いしましょう~!
ばいば~い!
コメント