2009-08-18 67 views

回答

1

你不能。通过API获取已删除记录的唯一方法是使用queryAll,而DataLoader不会使用queryAll。

(对不起,这里复活。)

+0

此答案不再正确。请参阅下面的其他答案。 – Guy 2016-09-06 14:40:56

0

尝试extractextract_allhard_delete

我希望这不是迟到。

+0

可能为时已晚。 – Craigy 2012-08-09 17:27:59

0

使用系统日志中的几行Apex代码将其折回。例如:

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

这应该工作,只要你不使用emptyRecycleBin()(这仍然会返回查询结果,但不会允许恢复删除的记录将现在被标记为物理删除)。从USER_DEBUG结果中获取a的一些ID以确认它是否有效。

5

检查文档:https://na7.salesforce.com/help/doc/en/salesforce_data_loader.pdf

如果使用GUI版本V20或以上,你就必须导出所有按钮。

从命令行版本,process-config.xml文件应该将process.operation属性值设置为等于“extract_all”(文档状态为“全部提取”,但不起作用)。

使用上述任何一个选项都会提取软删除的记录,并允许您在IsDeleted = true或false上进行过滤。 (无论使用何种过滤器,都可以包含此过滤器,但不使用上述选项,IsDeleted = true将始终返回零记录)。

希望有所帮助。

P.S.在Apex,它略有不同。您的SOQL查询将是[从IsDeleted = false的所有行中选择帐户Id]'all rows'appendage是'extract all'的Apex等效项。

2

在的DataLoader,使用导出所有按钮,而不是EXPORT按钮

这使您可以访问已删除&存档记录。

0

有三种方法可以做到这一点。

  • 回收站。在回收站中将该选项更改为所有回收站。这就像软删除我们可以得到的记录。如果您没有从回收站取得记录
  • 工作台。在工作台中选择soql查询和你需要的对象,并创建一个像这个例子一样的查询。

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

    在本节中,我们没有得到记录,我们知道机会记录的信息。

  • Dataloader。它也像工作台一样工作,您可以查看记录的信息。选择exportall选项,并选择所需的字段,并把过滤器像删除是真实的。