Apex データローダーから削除されたレコードを取得しますか?
-
18-09-2019 - |
質問
Apex データローダー、または Web サービス以外の Salesforce から削除されたレコード データを取得する方法を知っている人はいますか?
解決
あなたがすることはできません。 APIを介して削除されたレコードを取得する唯一の方法は、queryAllを使用することで、データローダーはこれまでqueryAll使用しません。
(ここでは復活のために申し訳ありません。)
他のヒント
ドキュメントを参照してください: https://na7.salesforce.com/help /doc/en/salesforce_data_loader.pdfする
または上記のGUIバージョンV20を使用している場合は、エクスポートAllボタンを持っています。
コマンドラインバージョンから、プロセス-config.xmlファイルは、「EXTRACT_ALL」に等しく設定process.operation属性値を持つ必要があります(ドキュメントには、「すべて展開」が、それは動作しません述べて)ます。
これら上記のオプションのいずれかを使用すると、ソフト削除されたレコードを抽出し、そしてあなたが= trueまたはfalse IsDeletedにフィルタリングすることができます。 (あなたは関係なく、このフィルタを含めることができますが、上記のオプションを使用せずに、真のIsDeleted =は常にゼロレコードを返します)。
希望に役立ちます。
P.S。アペックスでは、それは少し違います。あなたのSOQLクエリは、「すべての行」付属物「すべてを抽出」の頂点に相当するものです。
[IsDeleted = falseのすべての行が勘定から選択同上]となりますデータローダーでは、をEXPORT ALL ]ボタンではなく、エクスポートボタン
を使用しますこれは、あなたが削除&アーカイブ、レコードにアクセスすることができます。
システムログにApexコードの数行でそれらをロールバックします。たとえばます:
Account[] a = [select id from Account where isDeleted=true ALL ROWS];
undelete a;
system.debug(a);
これは、あなたがemptyRecycleBin()
使用していない限り、動作するはずです(まだクエリ結果を返しますが、レコードは今物理削除対象としてマークされるように元に戻すことはできません)。それが働いていることを確認するためにa
ためUSER_DEBUG結果からIDの数を取ります。
extract
、extract_all
、hard_delete
を試してみてください。
私はそれが後半ではありません願っています。
それには 3 つの方法があります。
- ゴミ箱。ごみ箱でオプションをすべてのごみ箱に変更します。ソフトデリートのようなもので、レコードを取得できます。レコードをごみ箱から取得しなかった場合
作業台。ワークベンチで soql クエリと必要なオブジェクトを選択し、この例のようなクエリを作成します。
SELECT Id,Name,AccountId,Isdeleted,CreatedDate,StageName FROM Opportunity where isdeleted =true
このセクションでは、商談レコードの情報がわかっているレコードを取得できませんでした。
- データローダー。ワークベンチとしても機能し、レコードの情報を取得することもできます。[exportall] オプションを選択し、必要なフィールドを選択して、[削除された] が [真] のようなフィルターを設定します。