単一レコードでの複数承認
単一の承認または複数の承認をリクエストするレコードを設定できます。 複数の承認をリクエストする場合は、次の2つの方法のいずれかで実行できます:
-
単一承認ステータス・フィールド
-
複数の承認ステータス・フィールド(承認ごとに1つ)
複数承認の単一承認ステータス・フィールド
単一の承認ステータス・フィールド(たとえば、"承認ステータス"というフィールド)を使用する場合、承認プロセスの各ステージが個別にリクエストされ、1つずつ順番にリクエストされます。 各承認がリクエストされて取得されると、フィールドは承認に設定されます。 レコードが次の承認のために再送信されると、フィールドは承認保留に設定され、必要な承認がすべて取得されるまで処理が繰り返されます。
複数承認での複数承認ステータス・フィールドの使用
ベスト・プラクティスは、複数の承認ステータス・フィールドを使用することで、レコードの各承認を簡単に区別できるようにすることです。 これは、ビジネス・ロジックによっては各承認に依存する場合には特に当てはまります。
複数の承認が連続して処理されます。レコードの前の承認プロセスが完了した後にのみ、新しい承認を送信できます。
複数の承認ステータス・フィールドを設定する方法の例を次に示します。
-
まず、承認が必要な各レコードを含む固定選択リスト(ステージ・ステータスなど)を作成します。 この例では、次のようになります:
-
技術提案
-
財務提案
-
契約
-
-
次に、各承認ステータスを含む固定選択リストを作成します(ZCX_HOLD_STATUSの標準リスト値を使用できます):
-
技術承認ステータス
-
財務承認ステータス
-
契約承認ステータス
-
-
デフォルトのシリアル承認プロセスを使用して、新しいBPMプロセスを作成します。
-
次の基準で3つのワークフローを作成します:
-
heldEntityStatusField = 'TechnicalApprovalStatus_c'OWF criteria: isAttributeChanged('StageStatus') && StageStatus = 'Technical Proposal'
-
heldEntityStatusField = 'TechnicalApprovalStatus_c' OWF criteria: isAttributeChanged('StageStatus') && StageStatus = 'Technical Proposal'
-
heldEntityStatusField = 'ContractApprovalStatus_c' OWF criteria: isAttributeChanged('StageStatus') && and StageStatus = 'Contract'
-
最初の承認のために、営業担当は技術提案文書を収益明細で準備し、マネージャ承認のために送信します。 承認されると、「技術承認ステータス」フィールドが承認済に変更されます。 同じ文書がシグネチャのために顧客に発行されます。
2回目の承認のために、営業担当者は財務提案文書(支払条件をリストする)を準備し、リージョン・マネージャおよびCEOによる承認のために発行します。 承認されると、「財務承認ステータス」フィールドが承認済に変更されます。 同じ文書がシグネチャのために顧客に発行されます。
3番目の承認では、Opportunityの複数のステージの後、CEOおよびRegional Managerが契約文書を準備して承認のために送信します。 承認されると、「契約承認ステータス」フィールドが承認済に変更されます。 文書は、契約アクティブ化のために顧客に送信されます。 顧客が条件を拒否した場合は、契約を修正し、3番目の承認プロセスを繰り返します。
エラー動作
複数の承認が並行して送信された場合、エラー通知を商談所有者に送信する必要があります。商談所有者は、現在の承認の完了後に承認が再送信されるように手動で確認できます。