1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 算式自動採番プラグイン

Last updated at Posted at 2020-05-30

計算式で番号を組み立てる自動採番プラグインです。
文字列と日付、項目の値などを組み合わせて、自動採番します。
年月・年度・組織・区分毎などの自動採番を簡単に実現できます。
採番項目を6個まで指定可能
#算式採番プラグインを算式自動採番プラグインに改名

rex0220 storesで、販売中です。

算式採番プラグインの概要

  • 採番項目を6個まで指定可能
  • 計算式で採番方法を指定します。
  • 採番条件の指定機能
    • レコード追加、レコード更新、ステータス変更のタイミングで採番可能
  • API Token による、最新の番号取得
  • 対象項目の非表示機能
  • 計算式で使われた項目を採番後の編集不可機能
  • 未採番レコード編集時の採番機能
  • 一覧画面で一括採番機能
  • プラグイン設定のダウンロード・インポート機能
  • 3ヶ国語対応
  • 動作環境は、PCとスマホです。

算式自動採番プラグインの応用例

直近の変更点

Ver.35
・プラグイン設定画面のデザイン変更対応
・FSET 関数に、テーブル内項目を指定できる機能を追加
・FSET_TADD 関数追加(テーブルに指定した行を追加)

見積書アプリの算式採番プラグイン設定例

kintone アプリストアの商品見積書パックを利用した例です。

2020-05-30_16h00_47.png

見積書アプリへの、項目追加

算式採番プラグインで使用する項目を追加します。

  • 採番項目: 文字列 ※「値の重複を禁止する」をチェック
  • 採番キー項目: 文字列
  • 連番: 数値

※採番キー・連番は、連番の最終レコードを抽出するために使用します。
 kintone REST API のレコード検索では、単語検索になるため、A001, B001, A002, B002 のレコードから「A で始まる最終番号」の指定が出来ない

2020-05-30_15h53_45.png

# 算式採番プラグインの設定例

アプリに配置した、項目を指定します。

  • 採番項目: 見積番号
  • 採番項目の計算式:
    "A"&

    DATE_FORMAT("TODAY","YYYY-MM")&

    "-@@@@"
  • 採番キー項目: 採番キー
  • 連番項目: 連番
  • 連番初期値:1

    ※連番の初期値を計算式で指定
  • 採番条件
    • 採番条件の計算式: 採番する条件を指定

※計算式の書き方
・文字列に、採番の書式と"@@@@@"を指定します。
・"@"の数が番号の桁数になります。

※計算式の例
・"A@@@@@@"
・"A"&DATE_FORMAT("TODAY","YYYYMM")&"-@@@@"

2023-04-22_11h46_02.png

プラグイン設定の操作

計算式は、入力補完機能で関数名・フィールドコードが取得できます。

  • ? 関数の表示と選択
    2022-05-12_11h59_48.png

  • : 項目名:フィールドコードの表示と選択
    2022-05-12_11h59_05.png

採番方法

  • 採番条件の計算結果が true 時、採番項目に指定された計算式を実行。
    • 採番条件の指定がない場合、新規レコードの追加時、採番項目に指定された計算式を実行。
  • 計算結果を採番キーとします。
  • 採番キーを抽出条件に連番項目を降順にして、アプリのレコードを取得。
  • レコードが無かった場合、連番を1。レコードが有った場合、連番+1。
  • 採番キーの"@"の部分を連番で桁数を合わせて置き換え。
    • "@"の桁数を連番の桁数が超えた場合は、そのまま連番を設定。
  • 採番項目、採番キー、連番項目に値を設定。

一括採番

プラグイン設定によりPC版の一覧画面で、一括採番できます。

  • 一括採番対象レコードは、採番項目、採番キー項目、連番項目が未設定
  • 採番条件指定時は、採番条件の計算結果が true
  • 一括採番処理中に、他で新規レコード追加が行われると採番項目が重複エラーになる場合があります。
  • 一覧のフィルター機能で、採番するレコード順に表示順を指定
2020-06-21_11h35_11.png

番号が重複するエラーの原因と対策

算式採番プラグインが既存のレコードを取得できない場合に、番号が重複するエラーを発生する場合があります。

2022-03-01_14h11_41.png

重複エラーの原因と対策

  • CSV 読み込み等で、追加更新したレコードに経費精算番号が設定済みで、採番キー・連番の項目に値が未設定

    • 既存レコードの採番キー・連番の項目に値を設定
  • ユーザーが読み込み権限を持っていないレコードがある

    • ユーザーに読み込み権限を付与。またはプラグイン設定でAPI トークンを指定
    • IPアドレス制限を行っている環境に、API トークンを指定する場合、
      アクセスを許可する IP アドレスに103.79.14.0/24 (cybozu.com) の登録が必要
      2024-05-14_09h48_02.png
      • 103.79.14.0/24 (cybozu.com) が未登録時のエラー(Ver.31 以降)
        2024-05-17_08h43_48.png

プラグインの追加

  • 「kintone システム管理 > プラグイン」で追加します。
  • 「アプリの設定 > プラグイン」で、アプリに追加します。
2020-05-30_16h25_55.png

プラグインの設定

  • プラグイン有効: プラグインの有効・無効を指定します。

  • 式に使われた項目を変更不可: レコード追加後に編集不可にします。

    • テーブル内項目を除きます。
  • API トークンは、レコードアクセス権設定を行う場合に、指定します。

    • 全レコードのレコード閲覧権限を付与したAPI トークンを指定
  • 項目: 対象アプリで計算式を使用する項目を選択

  • 非表示: 対象項目を非表示にします。

  • 採番項目の計算式に、採番キーとなる文字列の式を指定します。

    • 計算式の書き方
      • 文字列に、採番の書式と"@@@@@"を指定します。
      • "@"の数が番号の桁数になります。
    • 計算式の例
      • "A@@@@@@"
      • "A"&DATE_FORMAT("TODAY","YYYYMM")&"-@@@@"
    • 参考:算式採番プラグインの応用例
  • 変換 計算式: 採番項目に文字列の変換・文字列追加などを行いたいときに指定します。
    ※区分が異なっても通番にしたい場合、採番後に区分を追加します。

    • 計算式の書き方
      • 文字列の変換 採番項目の値"#"を区分(X,Y)に変換
        • REPLACE(採番項目,"#",区分)
          • "A#00001" -> "AX0001"
      • 文字列の追加 採番項目に区分項目の値(X,Y)を追加
        • 採番項目&"-"&区分
          • "A00001" -> "A0001-X"
  • 連番項目の計算式に、連番の初期値となる数値の式を指定します。

    • 連番の初期値の書き方
      • 初期値「1」:1 ※数値をそのまま指定
      • 初期値「100」:100 ※数値をそのまま指定
      • 区分によって、初期値を指定
        • IF(区分=="A",1000,2000)
  • 「保存する」をクリックします。

※フォーム変更時は、本番環境にフォーム変更を反映後に、本プラグイン設定を行ってください。

2023-04-22_11h46_02.png

※採番項目6個の例

2022-05-12_12h03_49.png

ボタン別設定

一覧画面で「一括採番」ボタンを表示する場合に、チェックします。
ボタン名を変更する場合は、名称を変更します。

2020-06-21_11h24_24.png

一覧別設定

「一括採番」ボタンを表示する一覧を指定します。

2020-06-21_11h23_01.png

権限設定

「一括採番」ボタンを表示するユーザー・組織・グループ(ロール)を指定します。

2020-06-21_11h23_23.png

#注意事項

  • 既に、JavaScript によるカスタマイズを行っているアプリの場合、処理が競合して、エラーになる場合があります。その場合は、該当するアプリでプラグインの使用を中止してください。
1
1
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?