削除されたレコードデータをApexデータローダーまたはWebサービス以外のSalesforceから取得する方法を知っている人はいますか?
6 に答える
ドキュメントを確認してください: 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です。
データローダーでは、 [エクスポート]ボタンではなく、[すべてエクスポート]ボタンを使用します
これにより、削除およびアーカイブされたレコードにアクセスできます。
できません。APIを介して削除されたレコードを取得する唯一の方法は、queryAllを使用することであり、DataLoaderはqueryAllを使用しません。
(ここで復活してすみません。)
extract
、、をextract_all
試してくださいhard_delete
。
遅くならないことを願っています。
システムログに数行のApexコードを入れてロールバックします。例えば:
Account[] a = [select id from Account where isDeleted=true ALL ROWS];
undelete a;
system.debug(a);
これは、使用しなかった限り機能するはずですemptyRecycleBin()
(これにより、クエリ結果が返されますが、レコードに物理的な削除のマークが付けられるため、削除を取り消すことはできません)。USER_DEBUGの結果からいくつかのIDを取得しa
て、それが機能したことを確認します。
それを行うには3つの方法があります。
- ごみ箱。ごみ箱で、オプションをすべてのごみ箱に変更します。これは、レコードを取得できるソフト削除のようなものです。ごみ箱からレコードを取得しなかった場合
ワークベンチ。ワークベンチでsoqlクエリと必要なオブジェクトを選択し、この例のようなクエリを作成します。
SELECT Id,Name,AccountId,Isdeleted,CreatedDate,StageName FROM Opportunity where isdeleted =true
このセクションでは、商談レコードの情報を知っているレコードを取得しませんでした。
- データローダー。また、ワークベンチのように機能し、レコードの情報を取得できます。exportallオプションを選択し、必要なフィールドを選択して、削除されたようなフィルターを配置するのは本当です。