カテゴリー内の他の記事

自動採番プラグイン

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.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のシステム設定が実際の時間とずれているユーザーがレコードを登録すると、発番できずにレコード登録できないことがある現象を修正

制限事項

  • Internet Explorer 8では本プラグインはご利用いただけません。
  • スマートフォンでは、使用することができません。

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

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

Avatar
takahashi

こちらのプラグインを利用しようとしたら、表示がHTML表示?になってしまいました。原因はわかりますでしょうか?

Avatar
cybozu Development team

takahashi 様

お世話になっております。cybozu developer network 運営局です。
当方でもいくつかの環境でためしましたが、問題なく動作いたしました。
 
おそらく、固有の環境の問題かと思われますので、恐れ入りますが、cybozu developer コミュニティをぜひご活用ください。
Avatar
Owa

こちらのプラグインを利用させていただいているのですが、とあるアプリでユーザーごとにレコードの制限をかけているため、APIトークンを設定致しました。

APIトークンはアプリ設定の「APIトークン」から生成し、アクセス権には「レコード閲覧」を設定しております。

そこで生成されたトークンを本プラグインの「APIトークン」に記載し設定をしたのですが、レコード制限されたユーザーがレコードの登録を行っても、”エラー データの読み込みに失敗しました。権限がありません。(CB_N002 ~)”というエラーメッセージが出てしまいます。

こちら原因は何でしょうか?

試したこと

・APIトークンのアクセス権をすべてつけた

・アプリ管理権限のあるユーザーにレコードの制限をかけて試した

Avatar
cybozu Development team
Owa 様
 
お世話になっております。cybozu developer network 運営局です。
当方でも同じく、レコードのアクセス権にて閲覧権限のみ付与した環境でためしましたが、問題なく動作いたしました。何か別に原因があるのかもしれません。
 
また、恐れ入りますが、こちらのコメント欄は記事内容のフィードバック目的となっております。
個別の事象や、または技術的なご質問は、cybozu developer コミュニティをぜひご活用ください。
Avatar
K3

お世話になります。

KINTONE初心者のK3と申します。

KINTONEを採用し、私が稟議書を作成し自動採番プラグインを使用しています。

現在運用を始めましたが、問題が発生しており困っています。

 

問題点

まず、本年1月からテストを実施し特に問題なく稼働する事を確認

※テストに不参加だったAさんがパスワードを忘れた為、再発行(Aさん以外テスト参加)

➀Aさんが稟議作成。自動採番されず番号なしで保存される。

 プラグイン等確認しましたが特に問題なく、保存等を何回か繰り返すことで復旧。 

 →Aさんの稟議が決裁まで進んでしまった為、一度自動採番を解除し手入力で処理。

  再度自動採番プラグインを設定し保存。

『202102_001』は使われていました(手入力)が再度、稟議作成時『001』を発番した為『202002_001』の捨て番稟議発行。

※順調に『202102_002~006』まで発行。(Bさん・Cさん・Dさん作成)

➁Eさんがパスワードを忘れた為、パスワード再発行。

Eさん稟議作成。『202102_001』で発行。

Cさんに稟議作成依頼『202102_007』で発行。

Eさんの稟議No.『202102_006』を手入力にて修正。

➂Fさんが稟議作成。(パスワードも忘れていません)

 『202102_001』で発行。

Fさんに『008』まで番号を進めてもらい、『001~007』削除。

※本日、Gさんが稟議作成。『202102_009』で発行。

 

以上が問題点になります。

ヒント等でも構いませんのでご教授願います。

Avatar
cybozu Development team

K3 様

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

おそらく、モバイルからの操作などの何らかの理由で、
採番されていないレコードが作成されていることが原因かと推測します。
自動採番プラグインの仕様では、レコード ID が一番大きいものの値を元に採番されるため、
自動採番したいレコードの直前に採番が空のレコードがあると、再度 1 から採番されます。

解決策としては、レコード番号順かつ空番号がないように採番し直していただく必要がございます。
ご確認よろしくお願いします。

Avatar
K3

返答ありがとうございます。

空番号が存在していました。

この番号を埋め現在通常に稼働出来ております。

 

Avatar
山田友

ご担当者様
お世話になっております。

こちらの自動採番プラグインを利用させていただいているのですが、
kintoneでIPアドレス制限を掛ける場合、こちらのプラグインを継続利用するためには、どのIPアドレスを登録するべきでしょうか。

以下リンクに記載のIPアドレスでよろしいのでしょうか。

https://faq.cybozu.info/alphascope/cybozu/web/kintone/Detail.aspx?id=60&isCrawler=1

Avatar
cybozu Development team

山田友 様

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

注意事項として、IP アドレス制限およびセキュアアクセスを利用した環境では、

API トークン設定機能が動作しなくなる可能性がございます。

そのため、まずお客様がご利用中のプラグインで API トークンを設定しているかご確認いただきますようお願いいたします。

API トークンを設定している場合の解決策としては、以下の策が挙げられます。

   ※こちらは FAQ でも記載の通り、推奨していない設定となります。

  • kintone.plugin.proxy() でリクエストしている部分は、.s なしでリクエストするように、プラグインのコードを改修する

なお、注意事項に記載の通り、当プラグインに関する技術的なサポートは致しかねます。

また、恐れ入りますが、こちらのコメント欄は記事内容のフィードバック目的となっております。
個別の事象または技術的なご質問は、cybozu developer コミュニティをぜひご活用ください。

お手数ですが、ご確認のほどよろしくお願いいたします。

サインインしてコメントを残してください。