【祝15,000PV】SharePoint x PowerAutomate | 自動採番機能を作ろう | 採番台帳
SharePointで自動採番を行う方法です。まだ検証段階で運用には繋げていないですが、参考になれば幸いです。
IDを表示する方法(IDを活用する)
ネットの記事で多く紹介されているのが、この方法ですね。
SharePointのリストには、もともと「ID」という列が用意されていて、リストに項目(行)が追加される度に一意の番号が割り振られます。IDは1から連番です。

例えば以下の様な感じです。IDは勝手に採番されるので、重複する事は絶対ありません。

ID=4の行を削除して、新たに行を追加した場合、ID=5として追加されます。
これを「採番」として利用するのも1つですね。
もう少し採番台帳らしく使いたい場合
例えば「うちはT000001のように、接頭文字「T」且つゼロ埋め(000000)としているので、表示もそうさせたい。」という要望も多いはず。
そういう方には、PowerAutomateを利用するのも一つです。
イメージする採番台帳
列:Kanri_IDに、採番された番号を追加します。

PowerAutomate側の設定
全体の流れは下図の通りです。

①トリガーを設定
今回のトリガーは「SharePointの特定のサイトで、項目(行)が作成されたとき」です。
サイトのアドレスと、対象のリスト名を選択します。

②ID情報を格納するため、変数を初期化します。
アクションとして、追加されたIDの情報を取得します。

③★重要★追加したレコードに対して、採番情報を上書きする
項目の更新を使って、追加した行に対して「採番情報(下図のKanri_ID)」を上書きします。
ID、Title、Detailは「項目が作成されたとき」から取得できる要素です。
Kanri_IDの作り方
今回は接頭文字に「T」、番号は6桁のゼロ埋めとします。
以下の様な式を記載します。
concat('T',formatNumber(variables('V01'),'000000','jp-jp'))
・concat:文字列結合(concat(A,B,…))
・variables:変数を参照(variables('変数名’))
・formatNumber:ExcelでいうText関数。今回のゼロ埋めで活用。

最終的には以下の様な感じです。

実際に採番してみる
SharePointで行を新規追加した際にアクションが走る都合上、Kanri_IDの規定値は「取得中」とします。

行追加時は以下の様な感じです。Kanri_IDが「取得中」となっているものが、今回新たに追加したものです。

数秒~数分(ここは自動処理なので間隔は不明)後に再リロードすると、下図のようにKanri_IDが取得されていることが分かります。

以上で自動採番ができることを確認しました。
以上です。








ディスカッション
コメント一覧
はじめまして。1点教えてください。
例えば、Sharepointリストの項目に「ユーザーまたはグループ」列があり、複数人が入力されていた場合、
【①項目が作成されたとき→②変数の初期化→③項目の更新】の手順で作動させると
③の際に「ユーザーまたはグループ」列の複数人が先頭の一人だけになってしまい、消えてしまいます。
何か対策方法はありますでしょうか?
お手数をおかけしますが、ご教授いただければ幸いです。
お世話になっております。
お返事遅くなってしまい、大変申し訳ございません。
既に解決されていると良いのですが…
やり方としてはJsonを作成する方法があるかと思います。
以下に記事を作成しましたので、ご参照ください。↓
https://miseruit.com/2023/03/10/post-4389/
concat関数の中の’jp-jp’は、何を表しているのでしょうか?
お世話になります。
こちらは formatnumber関数のlocaleパラメータになります。
localeによってカンマなどの場所が変わることがあります。
既定のロケールが日本でない場合が多い(en-usなど)ため’ja-jp’ と指定します。
https://learn.microsoft.com/ja-jp/azure/logic-apps/workflow-definition-language-functions-reference#formatNumber