Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

レコード上で簡易的な承認申請ができるしくみについて

こんにちは、ロジカル・アーツの岡田です。
上司に確認はしてほしいけど、「承認申請」を使用するほどでもない・・・といったことはないでしょうか?
そこで今回は承認プロセスを使わずに、上司が承認をしたかどうかを確認できるしくみを紹介します。
「承認申請」よりも簡単に使用できるしくみを取り入れることで、
業務の効率化につながると思います。 詳細は次から説明します。

しくみの動作について

まずはじめに、今回紹介するしくみで実現できることを説明します。
しくみの動作としては、チェックボックスにチェックが付けられると、
チェックを付けた「ユーザ」と「時間」が転記されます。
また、チェックされ、「ユーザ」と「日付」に情報が入っていれば、
そのレコードは上司の承認が下りた物とします。
「チェック①」にチェックを付けると

「チェック①」にチェックした「ユーザー」と「時間」が転記されます。

「チェック②」にチェックを付けると

「チェック②」にチェックした「ユーザー」と「時間」が転記されます。

「チェック①」か「チェック②」のチェック外すと

チェックを外した項目に関連する情報が空欄になります。

準備する項目について

しくみを作成するにあたって準備するものを紹介します。
データ型が「チェックボックス」の項目2つ
データ型が「参照関係(ユーザ)」の項目2つ
データ型が「日付/時間 」の項目2つ 以上合計6項目になります。
また、情報の正確性を上げるために「参照関係(ユーザ)」と「日時型」の項目は、「参照のみ」で設定することを推奨します。

フローの処理について

まず、フローの全体像を紹介します。
動作のイメージとしては、「チェック①」と「チェック②」がどのように更新されたか分岐を得て、 最後にレコードを更新するといった流れになります。
今回は、3つに分けて解説を行います。

トリガー条件 ~ ユーザ情報取得

トリガー条件

「チェック①」か「チェック②」の項目が更新されたときにフローが起動します。

ユーザ情報の取得

「チェックユーザ(参照関係)」の情報を格納するために、「変数」を作成します。
「変数」は「テキスト」型で、以下画像のものを2つ作成します。
API参照名は異なる値で作成して下さい。
「変数」を作成したら、
「$Record_チェックユーザ(参照関係)①_id」と
「$Record_チェックユーザ(参照関係)②_id」を「変数」にそれぞれ割り当て
ユーザー情報を格納します。

チェック①の分岐内容

「チェック①」がどのように更新されたか、分岐を行って判断します。
設定方法は以下となります。

結果を実行するタイミングの設定

【〇フローの実行をトリガーしたレコードが条件の要件を満たすように更新された場合のみ】 にチェックを付けます。
チェックを付けることで更新に応じた分岐が可能となります。
※設定方法は、以下画像のように設定します。
分岐内容

分岐内容は以下となります。
「Record_チェック①」にチェックを付けて更新した場合、「True」へ
「Record_チェック①」にチェックを外して更新した場合、「False」へ
「Record_チェック①」を更新していない場合「変更していない」へ
※以下画像は「True」へ向かう条件を記載しております。

チェックを付けて更新した場合

「チェックユーザ(参照関係)①」の情報を格納している「変数①」に「最終更新者」を割り当てます。
また、チェック時間を更新するために、「チェック時間①」に現在時刻を割り当てます。
現在時刻を割り当てるために、データ型が「日付/時間 」の数式を1つ作成します。
※数式の内容は、以下画像のものになります。

チェックを外して更新した場合

「チェックユーザ(参照関係)①」の情報を格納している「変数①」に 「空文字」を割り当てます。
また、「チェック時間①」も同様に「空文字」を割り当てます。
上記の割り当てを行うことで、両項目を「空欄」にして更新することができます。
更新しなかった場合

「チェック①」に関連する項目に更新はかからず、
そのまま「チェック②」がどのように更新されたか判断を行います。

チェック②の分岐内容~レコードの更新

チェック②の分岐内容

「チェック②」がどのように更新されたか、分岐を行って判断します。
設定する値は【チェック①の分岐内容】で設定した値を「チェック②」用の項目に
値を変えて設定するというイメージになります。
※以下画像は「False」へ向かう条件を記載しております。
チェックを付けて更新した場合

「チェックユーザ(参照関係)②」情報を格納した「変数②」に「最終更新者」に割り当てます。
また、チェック時間を更新するため「チェック時間②」に現在時刻を割り当てます。
チェックを外して更新した場合

「チェックユーザ(参照関係)②」情報を格納している「変数②」に「空文字」を割り当てます。
また、「チェック時間②」も同様に「空文字」を割り当てます。
上記の割り当てを行うことで、両項目を「空欄」にして更新することができます。

レコードの更新

【フローをトリガーしたレコードを使用】にチェックを付けてください。
トリガーレコードの「チェックユーザ(参照関係)①」に「変数①」を割り当てます。
トリガーレコードの「チェックユーザ(参照関係)②」に「変数②」を割り当てます。
それぞれ割り当てることで、
チェックボックス」にチェックした「ユーザ」と「時間」の情報を転記してレコードが更新されます。

さいごに

今回は承認プロセスを使わずに、承認申請を行ったかのようなことができるしくみを紹介しました。
このしくみを使うメリットを最後に2つ紹介します。
1点目は、レポートで表示することができることです。
承認プロセスを活用した場合、
誰が、いつ、レコードを承認したかレポートで見ることができません。
その為、レコード上に、チェックした「ユーザ」と「時間」の情報を残すことで、
レポートにして情報を表示することができます。
また、未承認レコード一覧レポートを作成することもできるため、
承認忘れの防止につながるかと思います。
2点目は、簡単に承認申請ができることです。
1日に100件、200件近くの承認申請が行き来する会社の場合、
1件、1件、「承認申請」を送り、確認する流れが大変になることもあります。
その際、今回紹介したしくみを導入することで、
効率よく、承認申請を行うことができるかと思います。

この記事が参考になれば幸いです。