やること「複数のレコードに対して一度に自動採番を行う」を使用すると複数のレコードに対して一括で自動採番を行うことができますが、
この時指定できる下記のパラメーターは基本的に全レコードに対して同じ値となり、レコード内のフィールドの値を指定してレコードごとに異なる設定で採番することは簡単にはできません。
前につける文字列(プレフィックス)
後ろにつける文字列(サフィックス)
採番キー
固定の値を指定する場合
たとえば下記の例では、「前につける文字列(プレフィックス)」と「採番キー」に「= format(today(),"YYYYMM")」と指定することで、
「レコード」で指定したアクション69で取得したレコードに対して、採番を行った日の年月ごとの採番を行うことができます。
たとえば、2024年9月1日に採番を行ったのであれば、
202409001
202409002
…
のような採番結果を得られます。
レコード内のフィールドの値を指定する場合1
下記の例のように、各レコードの「採番用コード」フィールドの値ごとに採番を行いたい場合、基本的には やること「リストから要素を取り出す」を使用し、1レコードずつ採番を行う必要があります。
1レコードずつ処理する例は下記のページで紹介しておりますのでご確認ください。
レコード内のフィールドの値を指定する場合2
1レコードずつ処理を行えば各レコードのフィールドの値ごとの採番は可能ですが、対象となるレコード数が多いと時間がかかります。
もし、採番対象のレコードでプレフィックスや採番キーに指定したいフィールドの値が、ある程度重複しているのでしたら、カスタマイズを工夫することで処理速度を改善できる可能性があります。
処理速度の改善が見込める例:
採番対象となるレコードでプレフィックスや採番キーに指定したいフィールドの値がある程度まとまっていて、同じ値が入っているレコードが多い
処理速度の改善が見込めない例:
採番対象となるレコードでプレフィックスや採番キーに指定したいフィールドの値がばらけていて、同じ値が入っているレコードが少ない
カスタマイズ例
まずは一覧画面にボタンを配置し、やること「条件を組み立ててレコードを取得する」で採番対象のレコードを取得します。
下記の例では、採番結果をセットするフィールドに値が入っていないレコードを取得しています。
レコードを取得したら、のちほど「前につける文字列(プレフィックス)」「採番キー」に使用したい、「採番用コード」フィールドの値で「レコードから重複を除去する」を使用して重複を除去します。
このアクションがポイントで、「前につける文字列(プレフィックス)」「採番キー」で使用する値が同じレコードごとに、まとめて採番をするための処理です。
重複を除去した採番用コードを「リストから要素を取り出す」のリストに指定します。
ポイントは、「= $48.採番用コード」のように指定することです。
通常、アクション48の結果を入力補助機能で挿入すると「= $48[0].採番用コード」と指定されますが、これはアクション48の1レコード目、という意味になり、
今回はリストにアクション48で取得された、重複除去後の全レコードの採番用コードを取得したいので、
「= $48.採番用コード」と指定してください。
次に、やること「取得したレコードを絞り込む」で、採番対象の全レコードを、リストから取り出した「採番用コード」と等しいレコードだけに絞り込みます。
そうすることで、アクション50の結果としては「採番用コード」が同じレコードだけが抽出されるため、複数レコードをまとめての採番が可能となります。
アクション51は「レコードを並べ替える」で、採番したい順番にレコードを並べ替えます。
今回はレコード番号の小さい順(昇順)で並べました。
「採番用コード」が同じレコードだけに絞り込み、採番してほしい順番に並べたレコードに対して、やること「複数のレコードに対して一度に自動採番を行う」で採番を行います。
このとき、「前につける文字列(プレフィックス)」と「採番キー」には、
リストから取り出した「採番用コード」を指定したいので、「= $49」と指定してください。
そうしますと、各レコード「採番用コード」ごとの値をプレフィックスと採番キーに指定できます。
最後に、採番結果を「レコードを書き出す」でkintoneに反映します。
これは、やること「複数のレコードに対して一度に自動採番を行う」を実行しただけでは採番結果がkintoneに反映しないため、必ずこのアクションを作成します。
なお、リストから要素を取り出すの繰り返しはアクション50~52の間で繰り返し、
アクション53については条件「リストからの取り出しが終了した時」を指定することで、
最後に1回だけ書き出しを行います。
こうすることで、kintoneへの反映が1回で終わりますので処理が高速になります。
最後に「画面をリロードする」でリロードして完了です。
以上でカスタマイズは完成です。
「kintoneアプリへ登録」をクリックし、kintone上で処理結果を確認してみてください。
ご質問がありましたら、チャットサポートにお問い合わせください。