SharePoint と Power Automate で稟議書を実装してみたメモ 1
経緯
弊社に Power Platform にも強いエンジニアがいる(というか案件まわしている)のですが、俺もちょっとやってみたいなっと思い、SharePoint Online と Power Automate (旧 Microsoft Flow) で稟議書っぽいのを実装してみました
雑な仕様
- 実際に承認を行う承認者と、申請がきていることをメールで通知する確認者がいる
- 承認者全員がアクション後、「承認者が○人以上なら次の処理に進む」というような処理ができる
- 「回覧経路の人のみ申請されたアイテムが閲覧可能」とかいう仕様は入れない (今回試したいことと違うので)
今回諦めた仕様
承認時に「○人中、△人が承認した時点で次の処理に進む」という仕様は、Power Automate の繰り返し処理と相性が悪そうだったので諦めました
いい感じでできる方法があったら教えて下さい🙏
用意した SharePoint Online 環境
サイト
サイトの種類 | サイト名 | 言語の種類 | タイムゾーン |
---|---|---|---|
コミュニケーションサイト | ExampleWorkflow | 日本語 | (UTC+09:00) 大阪、札幌、東京 |
作成されると、次の URL でサイトが作成されます
https://<your-organization-name>.sharepoint.com/sites/ExampleWorkflow
サイト内に作成したリスト
グループマスタ
承認経路に設定するグループのマスタ
リストの設定
リスト名 | 内部名 | リストの種類 |
---|---|---|
グループマスタ | GroupMaster | カスタムリスト |
列の設定
表示名 | 内部列名 | 列の種類 | 備考 |
---|---|---|---|
グループ名 | Title | 1 行テキスト | 既存列のタイトルの表示名を変更 |
承認者 | ApprovalUsers | ユーザーまたはグループ | 複数選択あり、ユーザーのみ |
確認者 | ConfirmUsers | ユーザーまたはグループ | 複数選択あり、ユーザーのみ |
作成されると、次の URL でリストが作成されます
https://<your-organization-name>.sharepoint.com/sites/ExampleWorkflow/Lists/GroupMaster
承認経路マスタ
グループを並べて、承認経路を設定する
リストの設定
リスト名 | 内部名 | リストの種類 |
---|---|---|
承認経路マスタ | ApprovalPathMaster | カスタムリスト |
列の設定
表示名 | 内部列名 | 列の種類 | 備考 |
---|---|---|---|
承認経路名 | Title | 1 行テキスト | 既存列のタイトルの表示名を変更 |
経路1 | Path1 | 参照 | 参照先はグループマスタ |
経路2 | Path2 | 参照 | 参照先はグループマスタ |
経路3 | Path3 | 参照 | 参照先はグループマスタ |
経路4 | Path4 | 参照 | 参照先はグループマスタ |
経路5 | Path5 | 参照 | 参照先はグループマスタ |
経路1の必要承認数 | Path1Approvals | 数値 | |
経路2の必要承認数 | Path2Approvals | 数値 | |
経路3の必要承認数 | Path3Approvals | 数値 | |
経路4の必要承認数 | Path4Approvals | 数値 | |
経路5の必要承認数 | Path5Approvals | 数値 |
作成されると、次の URL でリストが作成されます
https://<your-organization-name>.sharepoint.com/sites/ExampleWorkflow/Lists/ApprovalPathMaster
申請ワークフロー
ワークフローを実際に実行するリスト
本来なら、色々とガッツリ作り込むキモの部分だと思うが、今回はあくまでワークフローを作ってみるだけなので簡単なリストとする
リストの設定
リスト名 | 内部名 | リストの種類 |
---|---|---|
申請ワークフロー | Apply | カスタムリスト |
列の設定
表示列名 | 内部列名 | 列の種類 | 備考 |
---|---|---|---|
申請タイトル | Title | 1行テキスト | 既存列のタイトルの表示名を変更 |
ステータス | Status | 1行テキスト | |
承認経路 | ApprovalPath | 参照 | 参照先は承認経路マスタ |
申請文 | Body | 複数行テキスト | 拡張リッチテキスト |
経路1承認 | Path1Accept | 数値 | |
経路2承認 | Path2Accept | 数値 | |
経路3承認 | Path3Accept | 数値 | |
経路4承認 | Path4Accept | 数値 | |
経路5承認 | Path5Accept | 数値 | |
経路1否認 | Path1Reject | 数値 | |
経路2否認 | Path2Reject | 数値 | |
経路3否認 | Path3Reject | 数値 | |
経路4否認 | Path4Reject | 数値 | |
経路5否認 | Path5Reject | 数値 | |
経路1コメント | Path1Comment | 複数行テキスト | 書式なしテキスト |
経路2コメント | Path2Comment | 複数行テキスト | 書式なしテキスト |
経路3コメント | Path3Comment | 複数行テキスト | 書式なしテキスト |
経路4コメント | Path4Comment | 複数行テキスト | 書式なしテキスト |
経路5コメント | Path5Comment | 複数行テキスト | 書式なしテキスト |
ログ | Log | 複数行テキスト | 書式なしテキスト |
作成されると、次の URL でリストが作成されます
https://<your-organization-name>.sharepoint.com/sites/ExampleWorkflow/Lists/Apply
内部名とは?
SharePoint をやっている人には常識に近いのですが、SharePoint でリストや列を作る時に、一度半角英数字で登録して、後から日本語などに変更することで、内部列名を半角英数字で作成します
こうすることで、PowerShell や C# 、REST API などで扱いやすくなります
例えば、最初に日本語で列名を作成すると
列名が読めない…
最初に半角英字で作成してみると
列名が入力したままになるので、この状態で列名を日本語に変更すれば OK
次回予告
とりあえず入れ物を作りましたが、何度も作り直して試す時にこれでは面倒ですし、ミスも起きそうですので、次回はこれらを SharePoint PnP PowerShell というコマンドラインから作成してみます
ディスカッション
コメント一覧
まだ、コメントがありません