プロセスビルダーとフローで承認プロセスの承認者を自動保存

前回のポストには、《プロセスビルダーとフローで取引先に責任者の集計項目を作る》を共有しましたが、
今回のポストにプロセスビルダーとフローで承認プロセスの承認者(現在実行ユーザ)を自動保存の設定方法を引き続き共有したいと思います。

これもプロセスビルダーとフローのもう1つおもしろい使用方法です。

下記は承認プロセスも含む、今回設定(新規作成)必要な機能一覧です:
カスタム項目 (契約オブジェクト)
ContractApproval (承認プロセス)
ContractApproverUpdate (フロー)
ApproverUpdateProcess (プロセスビルダー)

カスタム項目を新規

契約に1つカスタム項目(数式(テキスト)) “CurrentUserId”を新規し、現在実行ユーザを取得するために使用します。 1. Contract  New Custom Field   CurrentUserId 2. Contract  New Custom Field   CurrentUserId もう1つカスタム項目(参照関係(ユーザ))”Approver” を新規し、承認者の値を保存するために使用します。 3. Contract  New Relationship   Approver

ContractApproval

契約に1つ承認プロセスを下記のように新規します 4. Approval Processes  Contract  ContractApproval 項目自動更新”StatusUnapproved”を新規します。 4. Field Update  StatusUnapproved 項目自動更新”StatusApproved”も新規します。 5. Field Update  StatusApproved “項目変更後にワークフロールールを再評価する”というオプションを必ずチェックしておく必要があります。以降の処理には非常に重要な設定です。
※チェックしないと、これから作成するプロセス”ApproverUpdateProcess”が評価(実行)されないからです。

ContractApproverUpdate

フローを新規し、高速検索要素”LookupTarget”をフローに追加します。 4. Flow Designer LoopUp 1つ変数”varTargetId”と1つSObject変数”targetContract”をそれぞれ新規します。 5. Flow Designer  varTargetId 6. Flow Designer  targetContract 最後にレコード更新要素”ApproverUpdate”を追加します。 7. Flow Designer  ApproverUpdate 高速検索要素を開始要素として設定し、二つ要素間に線を引きます。 8. Flow Designer  Flow フローを名前”ContractApproverUpdate”で保存し、有効化します。 9. Flow Designer  ContractApproverUpdate 10. Flow  ContractApproverUpdate

ApproverUpdateProcess

作成 > ワークフローと承認申請 > プロセスビルダーからプロセス”ApproverUpdateProcess”を新規します。. 11. Process Builder ContractApproverUpdateProcess 契約オブジェクトを追加し保存します。 12. Process Builder ContractApproverUpdateProcess 下記の数式で評価条件を新規作成します。.
13. Process Builder 評価条件が「True」の場合のアクションを追加し、前に作ったフロー”ContractApproverUpdate”を指定します。 14. Process Builder 最後にプロセスを有効化します。 15. Process Builder

動作確認

ユーザ”Staff”で契約を新規し、承認申請を行います。 16. Contract  00000105 ユーザ”Manager”で契約を承認します。 17. Contract  00000105 18. Contract  00000109 悪くないですね!
Enjoy it!