自動採番は「自動採番を行う」で行うことができますが、採番は1から始まり、任意の番号からの採番開始には対応していません。
任意の番号から開始する手順は下記です。
「自動採番を行う」で採番する
1の採番結果に、採番のスタート値としたい値-1を足す
例:採番を100からスタートしたい場合は99を足す
以下に、任意の番号から採番開始する例をご紹介します。
いずれも、採番のスタート値は100としています。
例1:採番キーを使用しない場合
アプリ内での通し番号を採番したい場合の例です。
まずは自動採番を行います。
やること
やること「自動採番を行う」を選択します。
自動採番で採番された数値を後で計算に使うので、ゼロ埋めやプレフィックスの指定は行いません。
アプリ単位の採番:アプリ単位で採番
ゼロ埋め:しない
桁数:0
前につける文字列(プレフィックス):指定しない
後ろにつける文字列(サフィックス):指定しない
採番サイクル:なし
タイムゾーン:日本標準時間
採番キー:指定しない
条件
「レコードを保存する直前(削除時は除く)」と「現在の画面が追加画面ならば」を指定しました。
採番結果の番号が飛ぶ(1,2,4のように3が飛ぶ)可能性を下げるためこの条件の組み合わせにしています。
自動採番は、採番結果が保存される・されないに関わらず、やることが実行されれば数字が進みます。
この組み合わせは、レコードを保存する直前かつ追加画面の場合のみ採番することで、1レコードにつき1回だけ採番が実行されるように設定し、数字が飛んでしまう可能性を低くしています。
なお、レコード保存に失敗した場合など、絶対に数字が飛ばないわけではありませんのでその点はご注意ください。
次に、採番を100からスタートさせるため、採番結果に99を足した値を採番結果フィールドにセットします。
やること
「数値をフォーマットする」を選択します。
数値には、アクション番号11で採番した数値に99を足す式を指定します。
自動採番は「1」から始まるため、このように指定すれば自動採番を100からスタートすることが可能です。
数値:= $11 + 99
また、「0100」のような形式で採番結果をフォーマットするため、下記のように指定しました。
整数部の桁数:4
整数部をゼロ埋めするか:整数部をゼロ埋めする
値のセット先フィールドは「採番結果_キーなし」としています。
条件
「他のアクションの実行が完了した時」を指定します。
採番が終わった後に実行したいので、アクションには「11」を指定しました。
以上で、アプリ内での通し番号を採番したい場合の100から採番を行うカスタマイズは完成です。
「kintoneアプリへ登録」し、実行してみると下記のような結果になりました。
その後、新しいレコードを作成&保存すると0101、0102・・・とカウントアップしていきます。
例2:採番キーを使用する
アプリ内にあるフィールドの値ごとに採番したい場合の例です。
例えば商品コードを飲み物の場合は「DR0001」、フルーツは「FR0001」のように、頭2桁アルファベットのカテゴリーと、下4桁の連番で構成したい場合に使用するのが採番キーです。
サンプル用のアプリは下記のように作成しました。
「コード」フィールドに”DR”や”FR”のようなカテゴリーを指定し、レコードを保存すると「採番結果_キーあり」に”DR0001”のような採番結果がセットされます。
なお、今回はコードがDRであれば”DR0100”、FRであれば”FR0100”から始まるようにカスタマイズしていきます。
こちらもまずは自動採番を行います。
やること
やること「自動採番を行う」を選択します。
自動採番で採番された数値を後で計算に使うので、ゼロ埋めやプレフィックスの指定は行いません。
ポイントは「採番キー」です。
採番キーとして、コードフィールドの値を指定しています。
このように指定すると、コードフィールドの値ごとの採番が可能となります。
DR0100、DR0101・・・と、FR0100、FR0101・・・のように、採番キーの値ごとの採番ができるわけです。
アプリ単位の採番:アプリ単位で採番
ゼロ埋め:しない
桁数:0
前につける文字列(プレフィックス):指定しない
後ろにつける文字列(サフィックス):指定しない
採番サイクル:なし
タイムゾーン:日本標準時間
採番キー:= コード
条件
「レコードを保存する直前(削除時は除く)」と「現在の画面が追加画面ならば」を指定しました。
理由は例1と同様です。
次に、採番を100からスタートさせるため、採番結果に99を足した値を採番結果フィールドにセットします。
やること
「数値をフォーマットする」を選択します。
数値には、アクション番号7で採番した数値に99を足す式を指定します。
パラメーターはほぼ例1と同様ですが、1つ異なる点があります。
今回の例では、「セット先フィールド」にはフィールドを指定しません。
計算結果を”0100”の形式とするだけで、採番結果フィールドへのセットは次のアクションで行います。
条件
「他のアクションの実行が完了した時」を指定します。
採番が終わった後に実行したいので、アクションには「7」を指定しました。
最後に、採番結果”0100”を”DR0100”の形式で「採番結果_キーあり」フィールドにセットします。
やること
「フィールドに値をセットする」を選択します。
セット先フィールドは「採番結果_キーあり」です。
値に「= コード & $8 」と指定することで、コードフィールドの値”DR”と採番結果”0100”を結合し、”DR0100”のような結果がセットされます。
条件
「他のアクションの実行が完了した時」を指定します。
採番が終わった後に実行したいので、アクションには「8」を指定しました。
以上で、採番キーごとの採番で100から採番を行うカスタマイズは完成です。
「kintoneアプリへ登録」し、実行してみると下記のような結果になりました。
以上が、任意の番号から自動採番を行う例でした。
複雑な採番も、複数のやることを組み合わせると可能になる場合があります。
色々試してみてくださいね!