Approval
サポートされているコール
describeSObjects()、query()、retrieve()
項目
使用方法
このオブジェクトを使用すると、クライアントアプリケーションは Contract の承認申請をプログラム的に処理することができます。まず、契約の承認を要請するために、クライアントアプリケーションは ParentId、OwnerId (ユーザによる申請の承認または却下)、Status (Pending)、および (必要に応じて) RequestComment 項目を指定して、Approval 申請レコードを新規作成することができます。クライアントアプリケーションが最初の承認申請を作成するとき、Contract の Status 項目がドラフトの場合、このレコードの Approval の Status は承認処理中 (詳細は、「ContractStatus」を参照) に自動的に変更されます。
続いて、クライアントアプリケーションは、Status (Approved または Rejected) および ApproveComment (必須) を指定して、既存の Approval 申請を更新します。RequestComment 項目を更新することはできません。(承認または却下する) Approval レコードを更新するために、クライアントアプリケーションは「契約の承認」権限でログインする必要があります。承認申請を更新するには、Status が Pending である必要があります。クライアントアプリケーションは、すでに Approved または Rejected となっている Approval を更新することはできません。指定された Contract の承認申請を再送信する場合、クライアントアプリケーションは別の Approval レコードを新規作成し、承認プロセスを繰り返します。
Contract が却下されずに承認されると、Contract の LastApprovedDate 項目が自動的に更新されますが、Contract の Status 項目は更新されず、InApproval のままとなります。
承認された Contract は、明示的に有効化する必要があります。クライアントアプリケーションは、契約の Status 項目の値を Activated に設定して Contract を有効化することができます。また、User は、Salesforce ユーザインターフェースを使用して Contract を有効化することができます。
Contract では、さまざまな状況 (Pending、Approved、および Rejected) の複数の承認申請を行うことができます。また、1 人の User は、同じ Contract に関連付けられた複数の承認申請を行うことができます。
クライアントアプリケーションは、Approval レコードを明示的に削除することはできません。親の Contract が削除されると、承認レコードは自動的に削除されます。