Salesforce では、承認プロセスのアクションを設定することは可能ですが、現時点では承認プロセスでフィールドを必須にすることはできません。これは、検証ルールを使用して解決できる簡単な問題であると考えることができます。残念ながら、現時点では、承認プロセスでフィールドを必須にするために検証ルールを使用することもできません。
ただし、 Flow を実装することで、このニーズを解決する回避策があります。
フローを構築する前に、フィールド更新アクションで「フィールド変更後にワークフロー ルールを再評価する」をマークします。これにより、承認プロセスが他の自動化 (この場合はフロー) をトリガーするようになります。
ここで、承認プロセスのコメントを必須にするフローを構築する必要があります。
まず、承認ステータスが「拒否」になったときに実行される、新しい (保存/高速フィールド更新の前) レコード トリガー フローを作成する必要があります。これは単なる例であり、任意のフィールドを使用できます。承認プロセスによって更新されるフィールドであることを確認してください。
その後、アカウントに関連する最後のプロセスインスタンスレコードを取得するために、レコードの取得要素を追加する必要があります。プロセスインスタンスとは、承認プロセスを意味します。TargetObjectId に関連するレコードを取得するための条件を設定し、CreatedDateで並べ替えるようにしてください。
その後、前のステップで見つかったプロセス インスタンスに関連する最後のプロセス インスタンス ステップレコードを取得するために、レコードの取得要素を追加する必要があります。拒否されたステップを取得するための条件を設定し、 CreatedDateで並べ替えるようにしてください。
ここで、見つかったプロセス インスタンス ステップにコメントがあるかどうかを確認するために、決定要素を追加する必要があります。
コメントフィールドが空白の場合は、エラー メッセージを表示します。そのため、エラー メッセージを表示するために、カスタム エラー要素を追加できます。
最終的に、フローは次のようになります。
ここで、コメントを入力せずにレコードを拒否しようとすると、エラー メッセージが表示されます。
重要!
フローが完全に期待どおりに機能しなかったというケースは、多くの人に起こる可能性があります。これは、フィールド更新を「最終拒否アクション」セクションではなく「拒否アクション」セクションに配置したことが原因です。
今では間違いなく動作します!