年度リセット自動採番プラグイン(無料)

会計年度(4月始まり固定)でリセットされる連番を、和暦(元号+元号年)+セグメント文字列+連番の形式で 自動採番するプラグインです(例: R6-総務課-請求書-0007)。 外部のAPIキー・APIトークンは一切使用しません。 採番の実処理はすべて、ログイン中のご自身のkintoneアカウントのセッションを使うREST API (kintone.api())だけで完結します。プラグインの設定画面にも認証情報を入力する欄は 一つもありません。番号の重複を防ぐために「カウンター専用アプリ」を1つだけ用意していただく必要が ありますが、これも同じ仕組み(閲覧・作成権限のみを持つ、あなた自身のkintoneアプリ)で動きます。 採番するタイミングは、レコード保存時・ボタン押下時・プロセス管理のステータス変化時から選べます。

自動採番 #APIキー不要 #自動採番
ダウンロード(v1)

執筆者: 羽鳥達郎(合同会社Pons) / kintoneアプリデザインスペシャリスト・基本情報技術者・cybozuオフィシャルパートナー ※本サイトで配布するプラグインは、サイボウズ株式会社のオフィシャルプロダクトではありません。

こんな方におすすめ

ユースケース

会計年度(4月始まり)が変わると連番を1からリセットしたい、かつ和暦(令和など)と部署名などのセグメントを組み合わせた「R6-総務課-請求書-0007」のような形式で採番したい、という官公庁でよくある文書番号の運用にそのまま対応できます。元号テーブルは設定画面から追加できるため、将来の改元にも対応できます。

セットアップ手順

採番の重複を防ぐため、このプラグインは「カウンター専用アプリ」というkintoneアプリを1つ必要とします。 少し手順が多く見えますが、すべて通常のkintone管理画面(アプリの新規作成・フィールド追加)だけで完結し、 プログラミングの知識やAPIキーの発行は一切不要です。環境に1つ作れば、複数のアプリで使い回せます。

  1. カウンター専用アプリを新規作成する
    kintoneの「アプリを作成」から、空のアプリを新規作成します(名前は「採番カウンター」など任意)。 このアプリは採番の記録専用で、通常のレコード一覧やフォームとしては使いません。
  2. 以下のフィールドを追加する
    「フォーム」タブから、下の表と同じフィールドコードで1行ずつフィールドを追加します (フィールド名・ラベルは自由に決めて構いませんが、フィールドコードは表の通りに指定してください)。
    フィールドコード種類備考
    key_sequence文字列(1行)必須・「値の重複を禁止する」を有効にする(下記手順3)
    combination_key文字列(1行)必須
    sequence_number数値必須
    target_app_id数値
    fiscal_year数値
    era_code文字列(1行)
    era_year数値
    segment_summary文字列(複数行)
    segment_1_codesegment_5_code文字列(1行)任意。セグメント機能を使う場合のみ(最大5個まで)
    segment_1_valuesegment_5_value文字列(1行)任意。セグメント機能を使う場合のみ(最大5個まで)
  3. key_sequenceフィールドの設定を開き、「値の重複を禁止する」を有効にする
    これが採番の重複を防ぐ一意制約になります(このプラグインの排他制御の要となる設定です)。
  4. アプリの一般権限を「閲覧+作成のみ」に変更する
    「アプリの設定」→「アクセス権」→「アプリ」から、関係者全員の権限を「レコードの閲覧」「レコードの追加」の みにし、「レコードの編集」「レコードの削除」のチェックは外してください。この専用アプリは 「採番するたびに新しい行を追記する」だけの記録用ログとして扱うため、編集・削除の権限は不要です。
  5. アプリを更新(デプロイ)し、アプリIDを控える
    ブラウザのURL(https://(サブドメイン).cybozu.com/k/(数字)/)の数字部分がアプリIDです。
  6. 番号を振りたいアプリに、このプラグインを追加して設定する
    対象アプリ(請求書アプリ、契約書アプリなど)にこのプラグインを追加し、設定画面で 「年度判定の基準日」「元号テーブル」「セグメントフィールド」「番号フォーマット」 「採番タイミング(保存時/ボタン押下時/ステータス変化時)」「採番結果を保存するフィールド」、 そして手順5で控えた「カウンター専用アプリID」を入力して保存します。
  7. 対象アプリを更新(デプロイ)する
    kintoneのプラグイン設定は保存しただけでは反映されず、「アプリを更新」して初めてレコード画面に 反映されます。

複数のアプリで採番したい場合、カウンター専用アプリ(手順1〜5)は環境に1つ作れば十分です。2つ目以降の 対象アプリでは手順6・7だけを繰り返し、同じカウンター専用アプリIDを入力してください。

セキュリティレビュー結果サマリ

設定画面イメージ

年度リセット自動採番プラグインの設定画面。年度判定の基準日、元号テーブル、セグメントフィールド、番号フォーマット、採番タイミング(保存時/ボタン押下時/ステータス変化時)、カウンター専用アプリID、一括採番を許可するグループコードを設定する画面のスクリーンショット。

API実行数について

このプラグインは、カウンター専用アプリへの参照・追記のためにkintone REST API(kintone.api()経由)を 実行します。採番タイミングが「保存時」ならレコード作成の保存のたびに、「ボタン押下時」ならボタンを 押すたびに、「ステータス変化時」なら該当ステータスへの変化のたびに、それぞれ最大数回(番号の衝突時は 再試行のぶん追加で実行されますが、最大試行回数の上限があります)実行されます。一括採番はアプリ内の 未採番レコード件数ぶん実行されます。いずれもAPIキー・APIトークンは使用せず、ログイン中のご自身の セッションでの実行です。

あわせて読みたい記事

GitHub / 改善要望

あわせて検討したいkintone関連サービス