1

削除されたレコードデータをApexデータローダーまたはWebサービス以外のSalesforceから取得する方法を知っている人はいますか?

4

6 に答える 6

5

ドキュメントを確認してください: https ://na7.salesforce.com/help/doc/en/salesforce_data_loader.pdf

GUIバージョンv20以降を使用している場合は、[すべてエクスポート]ボタンが表示されます。

コマンドラインバージョンから、process-config.xmlファイルのprocess.operation属性値を「extract_all」に設定する必要があります(ドキュメントには「ExtractAll」と記載されていますが、機能しません)。

上記のオプションのいずれかを使用すると、ソフト削除されたレコードが抽出され、IsDeleted=trueまたはfalseでフィルタリングできるようになります。(このフィルターは関係なく含めることができますが、上記のオプションを使用しない場合、IsDeleted = trueは常にゼロレコードを返します)。

お役に立てば幸いです。

PS Apexでは、少し異なります。SOQLクエリは[アカウントからIDを選択します。IsDeleted=falseすべての行]「すべての行」の付属物は、「すべてを抽出」に相当するApexです。

于 2011-11-11T16:12:30.570 に答える
3

データローダーでは、 [エクスポート]ボタンではなく、[すべてエクスポート]ボタンを使用します

これにより、削除およびアーカイブされたレコードにアクセスできます。

于 2013-11-14T11:22:36.853 に答える
1

できません。APIを介して削除されたレコードを取得する唯一の方法は、queryAllを使用することであり、DataLoaderはqueryAllを使用しません。

(ここで復活してすみません。)

于 2010-12-29T00:19:22.900 に答える
0

extract、、をextract_all試してくださいhard_delete

遅くならないことを願っています。

于 2011-06-28T16:49:40.810 に答える
0

システムログに数行のApexコードを入れてロールバックします。例えば:

Account[] a = [select id from Account where isDeleted=true ALL ROWS];
undelete a;
system.debug(a);

これは、使用しなかった限り機能するはずですemptyRecycleBin()(これにより、クエリ結果が返されますが、レコードに物理的な削除のマークが付けられるため、削除を取り消すことはできません)。USER_DEBUGの結果からいくつかのIDを取得しaて、それが機能したことを確認します。

于 2011-09-02T10:48:37.993 に答える
0

それを行うには3つの方法があります。

  • ごみ箱。ごみ箱で、オプションをすべてのごみ箱に変更します。これは、レコードを取得できるソフト削除のようなものです。ごみ箱からレコードを取得しなかった場合
  • ワークベンチ。ワークベンチでsoqlクエリと必要なオブジェクトを選択し、この例のようなクエリを作成します。

    SELECT Id,Name,AccountId,Isdeleted,CreatedDate,StageName
    FROM Opportunity where isdeleted =true
    

    このセクションでは、商談レコードの情報を知っているレコードを取得しませんでした。

  • データローダー。また、ワークベンチのように機能し、レコードの情報を取得できます。exportallオプションを選択し、必要なフィールドを選択して、削除されたようなフィルターを配置するのは本当です。
于 2016-01-27T21:05:15.833 に答える