勤怠入力システムを作成してみた(3)

Office365PowerApps&Flow

Office365(Powerapps & Flow)で勤怠入力システムを作成してみた(3)

(1)へ (2)へ (4)へ

休暇申請を登録した後の承認ワークフローを作成する

休暇申請の承認ワークフローのながれ

休暇申請が登録された後の承認ワークフローの流れ

休暇申請の承認ワークフロー全体

休暇申請が登録された

トリガ :Sharepointの「項目が作成されたとき」

処理内容:「休暇申請」リストが新たに登録されたときをトリガにフローを開始

項目名 説明
サイトアドレス 「休暇申請」リストを登録したサイトのURLを設定
リスト名 リスト「休暇申請」を設定

承認者情報の取得

アクション:Sharepointの「項目の取得」

処理内容 :休暇申請の入力項目「承認ルート名」より該当する「承認ルート」リストを取得

項目名 説明
サイトアドレス 「承認ルート」リストを登録したサイトのURLを設定
リスト名 リスト「承認ルート」を設定
ID 「休暇申請が登録された」トリガから、「承認ルートid」を設定
※この指定で、休暇申請入力で指定した承認ルート名と紐づく承認者情報が取得されます

休暇申請の部門長への承認依頼

アクション:Approvalsの「start an approval」

処理内容 :部門長に承認依頼を発行(承認センターへの登録及びメール送信)

項目名 説明
Approval type 「割り当て済リストの任意のユーザー」を設定
タイトル メールのタイトルを設定。ここでは「休暇申請が登録されました。承認をお願いします。」を設定
担当者 部門長のメールアドレスを設定。「承認者情報の取得」で取得した部門長のEmailアドレスを設定
詳細 メール本文を作成。ここでは、以下の本文を設定

①申請者名」より休暇申請が登録されました
————————————————————
【申請内容】
休暇区分  :「②休暇区分
期間(自) :「③期間(自)

期間(至) :「④期間(至)
休暇事由  :「⑤休暇事由
————————————————————
承認操作をお願いします。

文中の項目は「休暇申請が登録された」で取得した「休暇申請」リストの各項目を埋め込む
「①申請者」   登録者の名称(Displayname)
「②休暇区分」  休暇区分の名称(Value)
「③期間(自)」期間(自)の日付と時分の日本時間(※1)
        addHours(triggerBody()?[‘HOL_StartDate’],9,

        ’yyyy/MM/dd HH:mm’)
「④期間(至)」期間(自)の日付と時分の日本時間
        addHours(triggerBody()?[‘HOL_EndDate’],9,
‘yyyy/MM/dd HH:mm’)
「⑤休暇事由」 休暇事由の入力値

(※1)Sharepointの日付・時刻に入力された値をこのアクションで使用する場合、そのまま出力すると標準時間で出力されるため、ローカル時間(日本時間)にするために、9時間加算後、編集出力するように設定

アイテムリンク 登録された、「休暇申請」へのリンクを設定
「休暇申請が登録された」の「アイテムへのリンク」を設定
アイテムリンクの説明 メール中に表示される。上記リンクの文言を設定
「登録された休暇申請へのリンク」を設定

上記設定での承認依頼メールの例は、以下となります

【課題】承認センターを利用した場合、メールの内容が英語基調になっています、Approvalsの「start an approval」の機能になるため、これを日本語化することはできないようです。日本語化したい場合は、同様な機能を自作するしかないのかどうかは不明です。

条件(承認結果による分岐)

コントロール:条件

処理内容  :「条件の追加」により、承認結果(承認/却下)の分岐条件を設定

項目名 説明
比較要素 「休暇申請の部門長への承認依頼」の「応答」と比較
比較条件 「次の値に等しい」を指定
比較値 「“Approve”」を指定
承認者が承認(Apprpve)を指定した場合、「はい」へ分岐、他を指定した場合、「いいえ」へ分岐

休暇申請に承認結果を更新

アクション:Sharepointの「項目の更新」

処理内容 :承認応答で「承認」が指定された場合、「休暇申請」リストの承認結果を更新

項目名 説明
サイトアドレス 「休暇申請」リストを登録したサイトのURLを設定
リスト名 リスト「休暇申請」を設定
ID (キー)「休暇申請が登録された」トリガから、「ID」を設定
休暇申請 (キー)文言「休暇申請」を指定 (※1)
期間(自) (キー)「休暇申請が登録された」トリガから、「期間(自)」を設定 (※1)
承認結果 (更新項目)“承認”を設定
承認結果内容 (更新項目)承認操作でのコメント入力値を設定

(※1) Sharepointリストの「項目の更新」アクションの設定で、IDを指定すれば一意となるため、後は更新する項目のみ指定すれば良さそうであるが、Sharepointで必須項目に設定した項目は必ず値を指定しないとエラーになります

休暇申請の承認メール送信

アクション:Outlookの「メールの送信」

処理内容 :承認応答で「承認」が指定された場合、申請者に承認されたことをメール送信

項目名 説明
宛先 登録者のEmailを設定
件名 固定文言「休暇申請が承認されました」を設定
本文 メール本文を作成。ここでは、以下の本文を設定

①申請者名」の休暇申請が承認されました
————————————————————
【申請内容】
休暇区分  :「②休暇区分
期間(自) :「③期間(自)

期間(至) :「④期間(至)
休暇事由  :「⑤休暇事由
————————————————————
コメント  :「⑥コメント
————————————————————
【総務部担当】休暇管理への記帳をお願いします。

文中の項目は「休暇申請が登録された」で取得した「休暇申請」リストの各項目を埋め込む
「①申請者」   登録者の名称(Displayname)
「②休暇区分」  休暇区分の名称(Value)
「③期間(自)」期間(自)の日付と時分の日本時間
        addHours(triggerBody()?[‘HOL_StartDate’],9,

        ’yyyy/MM/dd HH:mm’)
「④期間(至)」期間(自)の日付と時分の日本時間
        addHours(triggerBody()?[‘HOL_EndDate’],9,
‘yyyy/MM/dd HH:mm’)
「⑤休暇事由」 休暇事由の入力値
「⑥コメント」 承認操作で承認者が入力したコメント

CC 管理部門のEmail、グループ長のEmailを設定
管理部門担当とグループ長にもCCでメールを送信する

投稿メッセージ

アクション:Yammerの「投稿メッセージ」

処理内容 :休暇申請が承認された場合、Yammerに休暇予定として投稿

項目名 説明
グループID Yammerに投稿するグループを指定(選択)
メッセージテキスト メ投稿メッセージを作成。ここでは、以下のメッセージを設定

————————————————————
①申請者名」の休暇申請が承認されました
————————————————————
【申請内容】
区分:「②休暇区分
期間:「③期間(自)」~「④期間(至)

【総務部担当】休暇管理への記帳をお願いします。
————————————————————
以上です。

文中の項目は「休暇申請が登録された」で取得した「休暇申請」リストの各項目を埋め込む
「①申請者」  登録者の名称(Displayname)
「②区分」    休暇区分の名称(Value)
「③期間(自)」期間(自)の日付と時分の日本時間
        addHours(triggerBody()?[‘HOL_StartDate’],9,

        ’yyyy/MM/dd HH:mm’)
「④期間(至)」期間(自)の日付と時分の日本時間
        addHours(triggerBody()?[‘HOL_EndDate’],9,
‘yyyy/MM/dd HH:mm’)

 

ネットワークID 自ネットワークIDを設定

休暇申請に却下結果を更新

アクション:Sharepointの「項目の更新」

処理内容 :承認応答で「却下」が指定された場合、「休暇申請」リストの承認結果を更新

項目名 説明
サイトアドレス 「休暇申請」リストを登録したサイトのURLを設定
リスト名 リスト「休暇申請」を設定
ID (キー)「休暇申請が登録された」トリガから、「ID」を設定
休暇申請 (キー)文言「休暇申請」を指定 (※1)
期間(自) (キー)「休暇申請が登録された」トリガから、「期間(自)」を設定 (※1)
承認結果 (更新項目)“却下”を設定
承認結果内容 (更新項目)承認操作でのコメント入力値を設定

(※1) Sharepointリストの「項目の更新」アクションの設定で、IDを指定すれば一意となるため、後は更新する項目のみ指定すれば良さそうであるが、Sharepointで必須項目に設定した項目は必ず値を指定しないとエラーとなります。

休暇申請の却下メール送信

アクション:Outlookの「メールの送信」

処理内容 :承認応答で「却下」が指定された場合、申請者に却下されたことをメール送信

項目名 説明
宛先 登録者のEmailを設定
件名 固定文言「休暇申請が却下されました」を設定
本文 メール本文を作成。ここでは、以下の本文を設定

①申請者名」の休暇申請が却下されました。
————————————————————
【申請内容】
休暇区分  :「②休暇区分
期間(自) :「③期間(自)
期間(至) :「④期間(至)
休暇事由  :「⑤休暇事由
————————————————————

コメント  :「⑥コメント

文中の項目は「休暇申請が登録された」で取得した「休暇申請」リストの各項目を埋め込む
「①申請者」  登録者の名称(Displayname)
「②休暇区分」 休暇区分の名称(Value)
「③期間(自)」期間(自)の日付と時分の日本時間
        addHours(triggerBody()?[‘HOL_StartDate’],9,

        ’yyyy/MM/dd HH:mm’)
「④期間(至)」期間(自)の日付と時分の日本時間
        addHours(triggerBody()?[‘HOL_EndDate’],9,
‘yyyy/MM/dd HH:mm’)
「⑤休暇事由」 休暇事由の入力値
「⑥コメント」 承認操作で承認者が入力したコメント

CC グループ長のEmailを設定
グループ長にもCCでメールを送信する

(4)へ