Task上的IsArchive字段

Salesforce中会对符合条件的SObject进行自动的Archive。就是压缩。

官方文档的描述中,主要的条件为Closed超过365天。系统会自动的进行Archive。

具体的体现在,Task上会有一个字段叫做isArchived。如果task被系统Archive,此字段便会设为True。同时,此条数据无法在report中进行显示。但可以用Query All的方式获取。

以上是背景资料。

继续调查了一下,发现就算是被Archive,仍然占据储存空间。那么,是否与正常的数据占用的空间大小一致呢?还有,系统会在什么时候进行标记工作呢?是不是与储存空间的使用情况相关呢?

我进行了如下试验:

在一个干净的Org里,开启了Createddate可写,然后插入了一定量的状态为Connect/Closed的Task。确定IsClosed已为True。之后等。

结果:等待一宿之后,IsArchived字段毫无变化,可确定频率不是每日。

To Be Continue…

// 2016-06-08 Update1

经过和Salesforce技术支持的各种撕逼深度沟通,目前可以确认的是:

  1. 在Salesforce环境中的Storage Usage页面看到的统计数据是所有未被删除数据(正常数据+被Archive掉的数据)。总结一下就是说,Archive掉了仍然和正常数据一样占用空间(然后在Report里还变的不可见了,不加Query all也检索不到了,Salesforce搞毛线?)
  2. 被Archive只是代表被更改了一个状态位,并不影响储存(与正常数据一样占用2KB)
  3. Archive只针对Task等有限的几张表,具体的实施时间点是在每周六大概,系统自动执行。

这样的话,我们在清理task数据的时候,一定要用query all,并加上条件isdeleted=false。才是全部的目标范围。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据