この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

undelete()

ごみ箱からレコードを復元します。

構文

使用方法

このコールを使用して、削除済みのレコードの中で復元可能なレコードを復元します。復元可能なレコードには、ごみ箱の中にあるレコードも含まれます。レコードは、merge() または delete() コールの結果として、ごみ箱に入れられる場合があります。queryAll() コールを使用して、結合の結果として削除されたレコードなど、削除されたレコードを識別することができます。

削除する前に、レコードが復元できることを確認する必要があります。復元できないレコードもあります。たとえば、Account レコードは復元できますが、AccountTeamMember レコードは復元できません。 オブジェクトが復元できることを確認するには、そのオブジェクトの DescribeSObjectResultundeletable フラグの値が true に設定されていることを確認します。

delete コールは、子レコードをカスケード削除しますが、undelete コールは、カスケード削除されたレコードを復元します。たとえば、取引先を削除すると、その取引先に関連するすべての取引先責任者を削除します。

結合の結果として削除されたレコードを復元できますが、子オブジェクトに再設定された親を元に戻���ことはできません。

API バージョン 15.0 以降、文字列を含む項目に値を指定し、値が項目に対して大きすぎる場合、コールは失敗してエラーが返されます。これまでのバージョンの API では、値は切り捨てられ、コールは正常に終了していました。バージョン 15.0 以降でもこの動作を保持する場合、AllowFieldTruncationHeader SOAP ヘッダーを使用してください。

メモ

このコールは、AllOrNoneHeaderAllowFieldTruncationHeader、および CallOptions ヘッダーをサポートしています。

エラー時のロールバック

AllOrNoneHeader ヘッダーを使用すると、すべてのレコードが正常に処理されない限り、すべての変更をロールバックできます。このヘッダーは、API バージョン 20.0 以降で使用できます。正常に処理されないレコードがあった場合に、コールですべての変更をロールバックできます。

サンプルコード —Java

このサンプルでは、queryAll() をコールして、直近に削除された取引先を 5 つ取得します。次に、これらの取引先の ID を undelete() に渡し、これらの取引先を復元します。最後に、コールの結果を確認して、復元された取引先の ID またはエラーをコンソールに書き込みます。

サンプルコード —C#

このサンプルでは、queryAll() をコールして、直近に削除された取引先を 5 つ取得します。次に、これらの取引先の ID を undelete() に渡し、これらの取引先を復元します。最後に、コールの結果を確認して、復元された取引先の ID またはエラーをコンソールに書き込みます。

引数

名前 説明
ids ID[] 復元するレコードの ID。