cybozu developer network

カテゴリー内の他の記事

自動採番プラグイン

Index

注意事項

  • サンプルプラグインは、その動作を保証するものではありません。
  • サンプルプラグインの技術的なサポート等は行っていません。
  • APIトークン設定機能は、セキュアアクセスおよびIPアドレス制限を利用しない環境でのみ動作します。
  • 本プラグインをv1.1以前のプラグインからアップデートする際はプラグインの設定画面より設定を再保存する必要があります。
  • kintoneプラグインはスタンダードコースでのみご利用いただけます。ライトコースではご利用いただけませんのでご注意ください。

概要

顧客管理、日報、案件管理等々・・・日ごろ利用している様々なアプリに一意のIDをつけたい、という方向けのプラグインです。

本プラグインは年次ごとの自動採番を行うワザ 、自動採番して、レコード登録する をプラグイン化したものになります。

2017/04/20:設定項目に「APIトークン」と「採番の桁数」を追加しました。その他変更点は「更新履歴」よりご参考ください。

設定画面(設定例)

autonum-1.JPG

レコード詳細画面(レコード登録後)

autonum-2.JPG

プラグイン を利用する

STEP1:フォームを設定する

アプリのフォームを設定します。次のフィールドを配置します。

  • 自動採番用のフィールド
    採番対象のフィールドを配置します。文字列(1行)フィールドを使用します。
    ※テーブルに設定したフィールドは使用できません。

ほかのフィールドの配置は任意です。

STEP2:アプリにプラグインを追加する

アプリに自動採番プラグインを追加します。プラグインの追加方法は、kintone ヘルプを参照してください。

STEP3:プラグインを設定する

  1. アプリ管理画面の「詳細設定」>「プラグイン」を開き、自動採番プラグインの歯車マークをクリックします。
  2. 各項目を設定します。
    項目名 説明
    自動採番フィールド選択

    採番を設定するフィールドを選択します。

    採番の桁数

    採番の桁数を指定します。1以上を指定する必要があります。

    ※「採番の桁数」は、採番の最大桁数を設ける機能ではなく、桁が足りない場合に、指定した桁数まで桁を補完するものです。
    例、「採番の桁数」に4を指定した場合の自動採番:
     0001
     0002
     0003  ← 4桁になるように補完
     ...
     9999
     10000 ←4桁を超える
    採番書式選択

    採番する際の書式を以下から選択します。

    • 連番
    • 日付+連番
    • 日付+テキスト+連番
    • テキスト+連番
    • テキスト+日付+連番
    日付書式選択

    採番書式選択で日付を選択している場合、日付の書式を以下から選択します。

    • 年月日(YYYYMMDD)
    • 年月(YYYYMM)
    • 月日(MMDD)
    • 月日年[西暦4桁](MMDDYYYY)
    • 月日年[西暦2桁](MMDDYY)
    • 月年[西暦4桁](MMYYYY)
    • 月年[西暦2桁](MMYY)
    • 年[西暦4桁](YYYY)
    • 年[西暦2桁](YY)
    テキスト入力

    採番書式選択でテキストを選択している場合、テキストの内容を入力します。

    接続語設定

    接続語を以下から選択します。

    • -(ハイフン)
    • _(アンダースコア)
    プレビュー 上記項目で選択した内容の採番をプレビューで表示します。(入力不可)
    連番リセットタイミング

    連番をリセットするタイミングを以下から選択します。
    ※採番書式選択で日付を選択していない場合、設定することはできません。

    • なし
    • 年毎
    • 月毎
    • 日毎
    APIトークン アクセス権の設定により、一部レコードの閲覧権限がないユーザーがレコードを登録した場合でも、正しい連番を採番するためにAPIトークンを入力します。

     

  3. [保存]をクリックします。
  4. 「アプリの設定」画面で[設定完了]をクリックすると、プラグインの設定がアプリに反映されます。

STEP4:プラグインを利用する

  1. レコードを登録します。保存ボタンを押す際に、プラグインに設定された書式で対象のフィールドに採番されます。
  2. 以降レコードを登録する毎に連番がカウントアップされます。

サンプルプラグイン

GitHub にアクセスしてフォルダごとダウンロードしてください。そのフォルダ内の「examples/autonum」に、今回のファイル群があります。
ファイル構成は次のとおりです。

209715393-1.jpg

autonum/
       css/
-51-modern-default.css
-config.css
-desktop.css html/ -config.html
img/
-icon.png
js/
-config.js
-desktop.js
manifest.json

こちらの手順を参考にパッケージングします。

パッケージングしたサンプル

プラグイン開発のためのサンプルであり、サポート対象外であることをご理解の上、ダウンロードしてください。

SAMPLE_autonum.plugin_v2.4.3.zip

更新履歴

  • 2016/03/24 v1.0 を公開しました
  • 2016/06/09 v1.1 を公開しました。
    • ゲストスペース対応を行いました。
  • 2017/04/20 v2.0 を公開しました。次の修正・機能追加を行いました。
    • 採番の桁数を指定できるように変更
    • 「日付書式選択」項目に次の4パターンを追加
      • 月日年[西暦4桁](MMDDYYYY)
      • 月日年[西暦2桁](MMDDYY)
      • 月年[西暦4桁](MMYYYY)
      • 月年[西暦2桁](MMYY)
    • プラグイン設定画面での採番プレビューの表示場所と表示形式を変更
    • トークン認証項目を追加(レコードのアクセス権を設定しているユーザー向け)
    • 自動採番フィールド選択、採番書式選択と接続語設定の設定を変更したタイミングで入力チェックを行うように変更
    • 画面の高さにより、ボタンとスクロールバーの表示場所が変わるように変更
      • 画面の高さ750px未満の場合:
        「Save」ボタンと「Cancel」ボタンを画面上部と底部に表示し、スクロールバーを画面の外側に表示
      • 画面の高さが750px以上の場合:
        「Save」ボタンと「Cancel」ボタンを画面上部のみに表示し、スクロールバーを画面の内側に表示
    • 設定画面をログインユーザーの言語によって日本語/英語を切り替えるように変更
      (中国語の場合には、英語が表示される)
  • 2017/08/16 v2.1 を公開しました。以下の点を更新しております。
    • スタイルシートを「51-current-default.css」から「51-modern-default.css」に変更しました。
    • その他軽微な修正を行いました。
  • 2017/11/22 v2.2 を公開しました。
    • ゲストスペースでAPIトークンが保存できない不具合を修正しました。
  • 2020/04/06 v2.3 を公開しました。
    • プラグイン設定画面の言語に中国語を追加しました。「ログインユーザーの言語」が中国語の場合、中国語で表示されます。
  • 2021/03/03 v2.4 を公開しました。次の修正を行いました。
    • タイムゾーンが異なるユーザーやPCのシステム設定が実際の時間とずれているユーザーがレコードを登録すると、発番できずにレコード登録できないことがある現象を修正
  • 2021/08/13 v2.4.1 を公開しました。次の修正を行いました。
    • 使用している外部ライブラリーのファイルをプラグイン内にバンドル化
  • 2022/06/16 v2.4.2 を公開しました。次の修正を行いました。
    • 自動採番されるフィールドが空のレコードを登録すると、次に登録したレコードで正しく採番されない現象を解消
  • 2022/09/06 v2.4.3を公開しました。次の変更を行いました。
    • JavaScriptソースコードをES6以降の記法に書き換えました。

制限事項

  • モバイルからはプラグインを利用できません。

利用している OSS のライセンス情報

このプラグインで利用している OSS のライセンスは次のとおりです。

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

Avatar
ほづみゆうき

自動採番プラグインを導入したのですが、番号の重複が発生するようになりました。
法則性もイマイチ見えませんが、何か過去の事例等ございますでしょうか。ご知見いただけますと幸いです。状況は以下のとおりです。
・登録は画面から行っている
・連番リセットタイミング選択は「なし」
・同じ日のレコードで重複はない
・重複した番号の作成者は別のアカウント(同じアカウントで作成したレコードでの重複は発生していない)
・重複が発生したのは特定の日以降(特にプラグインに関する設定は変更していないが、プラグイン導入後に新たなユーザに権限を付与して、その追加したユーザのレコードで重複が発生。プラグイン導入以前のユーザでは発生していない)。

Avatar
北城 彰

新規質問です。

始めまして、いつも便利に拝見させていただいています。

自動採番ですが、『ファイルから読み込む』を使用したときに裁判されず空白になってしますのですが対応策有りますでしょうか。

Avatar
cybozu Development team

北城 彰 様

こんにちは、cybozu developer network運営事務局です。

こちらの自動採番プラグインは、kintone JavaScript APIのレコード追加イベントを使用しております。

このイベントはレコード追加画面または再利用画面で発生するため、ファイル読み込みによるレコード追加には対応しておりません。

※参考:レコード追加画面の保存実行前イベント

https://developer.cybozu.io/hc/ja/articles/201941984#step2

 

対応策として、レコードが1件も登録されていないアプリで下記の操作を行ってから

レコード追加画面または再利用画面からレコードを追加すると、ファイル読み込みで追加したレコードの続きから自動採番されます。

1.自動採番プラグインの設定画面で、採番書式を設定する。

2.自動採番フィールドに対応するファイルの列に、1.と同じ書式で連番をつける。

3.ファイルを読み込む。

Avatar
cybozu Development team

ほづみゆうき 様

お世話になっております。cybozu developer network 運営事務局でございます。

こちらの環境で、ご質問頂いた事象が確認できませんでした。

ユーザー追加時に発生したとのことですので、今一度アプリの権限設定についてご確認お願い致します。

お手数をおかけしますが、よろしくお願い致します。

Avatar
maki

自動採番プラグインを導入しましたが、番号の重複が発生します。

どうやらIE11では重複が発生するようで、いまのところChromeでレコード追加した場合は重複が発生していません。

こちら、本当にブラウザの問題なのかご確認いただけないでしょうか。

よろしくお願いいたします。

Avatar
cybozu Development team

maki 様

お世話になっております。cybozu developer network事務局でございます。

IE11、Chromeで改めて動作を確認しましたが、採番の重複は確認できておりません。

大変恐れ入りますが、下記について情報を頂けますでしょうか。

  • 採番プラグインの設定詳細
  • 発生頻度(IE11で毎回起きるのか、毎回でなければどのくらいの頻度か)
  • どのような状況で発生したか(わかる範囲で構いません)
  • 重複した場合、エラー表示等通常と異なる動作はあったか

ご確認よろしくお願いいたします。

Avatar
芝佑託

自動採番プラグインを導入し、番号の重複が発生いたしました。

重複したレコードの番号を修正して、次からの採番を一つずらすことはできますか?

Avatar
PV

2人同時に保存ボタンを押した際、番号の重複が発生してしまいました。

回避する方法はございますか?

Avatar
cybozu Development team

PV 様

お世話になっております。cybozu developer network事務局でございます。

現在の仕様ですと、回避する方法はございません。
申し訳ありませんが、運用で回避していただけると幸いです。

よろしくお願いいたします。

Avatar
kyoden

レコードの再利用をした際にも自動発番されるようですが、

自動発番をするフィールドの値の重複を禁止した場合、

レコードの保存時にエラーになってしまいます。

連番設定しているのにも関わらず、同じ番号で発番されるようですが、

これの回避策はありますか?

Avatar
cybozu Development team

kyoden様

 

レコードの再利用をした際にも、保存ボタンを押すと自動採番される仕様になっています。

保存時にエラーになるのは想定の動作ではないため、

プラグインの設定内容、エラーの内容、ブラウザ、OSを教えていただけますでしょうか。

 

> 連番設定しているのにも関わらず、同じ番号で発番されるようですが、

こちらは上記の続きで、再利用画面を利用しエラーになった場合でしょうか。または別のケースになりますでしょうか。

当方で再現できていないため、再現可能な手順を教えてくださいますでしょうか。よろしくお願いいたします。

Avatar
kyoden

cybozu Development team 御中

 

>> 連番設定しているのにも関わらず、同じ番号で発番されるようですが、

>こちらは上記の続きで、再利用画面を利用しエラーになった場合でしょうか。または別のケースになりますでしょうか。

全て一連の流れです。

 

ブラウザはChromeの最新版(バージョン: 80.0.3987.100(Official Build) (64 ビット))で、OSはWindows 10 Pro 64ビットです。

プラグインについては添付画像の内容で設定しています。

フィールド名が「案件番号」というフィールドの設定にて「値の重複を禁止する」にチェックを入れてます。

レコードを複製して保存ボタンを押すと、「エラー」という背景が赤色のポップアップが表示され、レコードが保存できません。

そして、「案件番号」を確認すると、フィールド下部に

「値がほかのレコードと重複しています。」

という背景が赤色のエラーメッセージが表示されます。

本番環境でエラーが起こったので、アプリの動作確認でレコードが全くない状態で、

新規レコードを一つだけ作成し、それを複製しましたが、

やはり同様のエラーが発生します。

Avatar
cybozu Development team

kyoden 様

お世話になっております。cybozu developer network事務局でございます。
ご返信が遅くなり大変申し訳ありません。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

調査したところ、kintoneのモバイルアプリからレコードを追加した場合、
kyoden様の環境に近い現象を再現できました。

・現象の理由:
 モバイルアプリで追加したレコードはプラグインが未対応なため、番号フィールドが空になります。
 新規レコードを追加する際、一番最近のレコード(モバイルで追加したレコード)が空のため、
 1から番号を振り直すことになります。
 以前にすでに1番が存在する場合、重複エラーが出ます。

・「アプリの動作確認で確認しても同様のエラーが発生」現象について:
 自動採番プラグインが新しいレコードに番号を付与する際は、
 本番環境レコードの採番された番号を取得し、それを元に新しい番号を採番しています。
 そのため、「アプリの動作テスト」環境でレコードがなくても、
 本番環境にすでにある番号でしたら、本番環境と同じく重複エラーが出ることになります。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

もしkyoden様の環境が上記と同じ状況でしたら、回避策として、
番号形式が正しくないレコードを手動で削除して頂ければ、エラーが解消されると思います。

よろしくお願い致します。

cybozu Development teamにより編集されました
Avatar
SEAAAAAAA

2点質問させてください

 

1.0リセットする方法

自動採番プラグインを用いて、業務用通し番号を採番しています。

「連番」を活用しておりますが、年度ごとに0リセットしたいと考えています。

(社内システムの番号形態に合わせて R7XXXXX0→次年度R8XXXXX0のように採番しています)

前後のアプリとのリンクの関係で年度をまたがせたいと考えています。

0リセットするにはどうしたらよいでしょうか?

 

2.重複禁止

「文字+YYYYMM+連番」で採番するアプリがあります。

複数人で同時にレコード保存をしたところ、同じ番号で採番されてしまった例がいくつか発生しました。

重複が起きないようにするにはどうしたらよいでしょうか?

(採番結果を表示するためのフィールドに「重複禁止」を設定し難は逃れていますが、

他のアプリでは重複禁止を設定できない条件もあるため、根本的にどうしたらよいか知りたいです)

 

ぶしつけな質問で恐縮ですが、お力をお貸しいただけたら幸いです。

以上、よろしくお願いいたします。

 

Avatar
SEAAAAAAA

追記です

1桁で採番するよう設定していたところ、0→9の後、0に戻らず10.11.12と続いてしまいました。

Avatar
cybozu Development team

SEAAAAAAA 様

お世話になっております。cybozu developer network事務局でございます。

1.について

年度ごとに0リセットするには、フォーマットに年を含ませる必要があるので、
「テキスト+日付+番号」になるかと思います。
「テキスト+番号」で、番号を年度ごとにリセットすることは、現在の仕様ではできないです。

2.について

現在の仕様ですと、回避する方法はございません。
申し訳ありませんが、運用で回避していただけると幸いです。

>>桁で採番するよう設定していたところ、0→9の後、0に戻らず10.11.12と続いてしまいました。
こちらは確認してから返事させていただきますので、少しお時間がかかるかもしれません。

よろしくお願いいたします。

Avatar
cybozu Development team

SEAAAAAAA 様

>>桁で採番するよう設定していたところ、0→9の後、0に戻らず10.11.12と続いてしまいました。

確認したところ、

桁数の指定については、採番数に限界値をもうけるための機能ではなく、
桁が足りない場合に、桁をいくつ補完するかを設定するための機能なので、想定の動作です。
 
・1桁の場合
1
2 -> 足りているので補完しない
...
 
・2桁の場合
01
02 -> 足りないので(2-1= 1桁補完)
...
 
・5桁の場合
00001
00002 -> 足りないので(5-1= 4桁補完)
...
 
ご確認お願いいたします。

 

Avatar
吉田

お世話になります。吉田と申します。

自動採番プラグインを利用しているのですが、サイボウズの2020/7定期メンテナンスで実施される「APIのoffsetの上限値制限」の影響は受けませんでしょうか。

お手数ですがご教示お願いいたします。

吉田により編集されました
Avatar
cybozu Development team

吉田様

お世話になっております。cybozu developer network 運営局です。

当プラグインでは、offset を利用したレコード取得する処理はおこなっていないため、offset 上限値制限の影響は受けない認識です。
よろしくお願いいたします。

Avatar
吉田

cybozu developer network 運営局 御中

お世話になっております。吉田です。

早速のご回答、ありがとうございました。

Avatar
木内裕和

自動採番で№を管理しているのですが、本日「値が他のレコードと重複しています」というエラーが出て登録ができなくなりました。解決策をおしえていただけますでしょうか。

私はSEではない+アプリ作成者が退職済のため、困っております。

キントーンシステムヘルプに問い合わせたところ、こちらで質問するように案内されました。

よろしくお願いします。

Avatar
cybozu Development team

木内裕和 様

お世話になっております。cybozu developer network事務局でございます。

>本日「値が他のレコードと重複しています」というエラーが出て登録ができなくなりました。

調査したところ、kintoneのモバイルアプリからレコードを追加した場合、
木内裕和 様の環境に近い現象を再現できました。

現象の理由:
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 モバイルアプリで追加したレコードはプラグインが未対応なため、番号フィールドが空になります。
 新規レコードを追加する際、一番最近のレコード(モバイルで追加したレコード)が空のため、
 1から番号を振り直すことになります。
 以前にすでに1番が存在する場合、重複エラーが出ます。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

もし木内裕和 様の環境が上記と同じ状況でしたら、お手数ですが、
回避策として、番号形式が正しくないレコードを手動で削除して頂ければ、エラーが解消されると思います。

ご確認のほど、よろしくお願い致します。

Avatar
Miyawaki

こんにちは

自動採番プラグインの導入を検討して使用しているとことですが、

レコード作成毎に自動採番される専用の自動採番レコード番号フィールドを作成しました

(レコード番号がデフォルトで6桁表示になるようにしたフィールドです。

例:レコード番号→56なら 自動採番レコード番号→000056 と表示されるように)

普通にレコードの新規作成でレコードを作成するとうまく機能していますが、

「ファイルから読み込む」で一気に何件もレコードを作成しようとすると、自動採番されません。

何か解決策はありますか?ご教示ください。

 

よろしくお願いいたします。

Avatar
cybozu Development team

Miyawaki 様

お世話になっております。cybozu developer network 運営局です。

自動採番プラグインはレコード追加・編集画面および一覧画面による編集画面から操作した場合に適用されるもので、ファイル読み込み機能では自動採番されません。
そのため、ファイル読み込みの場合、読み込むファイルに手動で採番する必要があります。

次の手順で、レコード番号に0埋めする形で発番できるかと思われます。ご参考ください。

1. 読み込みたいファイルを kintone に読み込んで、レコード番号を発行する
2. 「レコード番号」と「採番を設定するフィールド」をエクスポートする
3. 「レコード番号」の値に合わせて、手動で「採番を設定するフィールド」に番号をふる
4. 3. のファイルをインポートする

Avatar
ワタナベ

お世話になっております。

すでに利用しているアプリに自動採番プラグインを追加し、利用したいと考えています。

作成済のレコードにも採番をすることは可能でしょうか。

 

よろしくお願いいたします。

Avatar
cybozu Development team

ワタナベ 様

お世話になっております。cybozu developer network 運営局です。
当プラグインによる採番タイミングは「レコードが保存される直前」となっており、
保存するレコードにのみ採番がなされます。

そのため、既存のレコードに関しましては適用されませんので、
ご自身でCSVアップロードで一括更新などで書き換えていただくことになります。

Avatar
藤原 かほり

初めまして ミヨシテックの藤原と申します。

この自動採番機能を活用させていただいているのですが?

実は弊社で途中まで番号が採番されている仕事を引継ぎたいと思っています。

途中の番号からの始まりは不可能でしょうか?

ご連絡下さい

 

Avatar
cybozu Development team
藤原 かほり 様
 
お世話になっております。cybozu developer network 運営局です。
最後に作られたレコードの採番の続きから採番されます。
そのときにはプラグインで設定したルールと同じフォーマットである必要がありますので、一度CSVなどで吐き出して採番し直したほうが無難かもしれません。
 
また、こちらのコメント欄は記事内容のフィードバック目的となっております。
個別の事象や、または技術的なご質問はcybozu developer コミュニティをぜひご活用ください。
Avatar
柴田

初めて使用しています。

自動採番はインポートした既にデータが入っているエクセルに対してはできないのでしょうか?あくまで画面上でレコード追加した場合のみのとなりますでしょうか?

また、カテゴリ別(カテゴリをA、Bとする場合)にA-00001,B-00001のように頭のテキスト部分で分けて採番するにはどのように設定すればよいでしょうか?

Avatar
cybozu Development team
柴田 様
 
お世話になっております。cybozu developer network 運営局です。
自動採番プラグイン自体は画面上でレコードを追加したときのみに動作しますが、
同じ採番ルールであればCSVインポートなどで既存のデータの採番しなおし自体は可能かと思われます。
また、現在はカテゴリ別などでテキスト部分を分けて採番する機能はありません。
 
恐れ入りますが、こちらのコメント欄は記事内容のフィードバック目的となっております。
または記事から派生した技術的なご質問等はcybozu developer コミュニティをぜひご活用ください。
サインインしてコメントを残してください。