Loading
设置和维护 Salesforce 组织
目录
选择筛选器

          没有结果
          没有结果
          以下是一些搜索提示

          检查关键字的拼写。
          使用更普遍的搜索词。
          选择更少的筛选器,并扩大搜索范围。

          搜索所有 Salesforce 帮助
          未归档 Apex

          未归档 Apex

          根据特定筛选器,以编程方式在归档应用程序中取消归档记录,并检索匹配请求的搜索结果。

          取消归档记录也会取消归档根记录和子记录的整个层次结构树。

          备注
          备注 如果搜索结果包含超过 1000 个记录,则不会处理取消归档。
          备注
          备注

          通过 Apex 的未归档请求限制为每个组织每小时 50 个。

          如果超过此限制,您会收到 HTTP 状态代码 429。

          备注
          备注 Unarchive Apex 可以同时运行最多 10 个未归档操作。撤销和 Apex 取消归档都被视为取消归档操作。

          先决条件

          启用归档 启用取消归档 从归档应用程序或通过 Apex 取消归档记录。如果您只需要一个未归档权限,请启用其中一个自定义权限,并将其手动分配到自定义权限集或简档。

          • 归档未归档:仅从归档应用程序取消归档记录的权限。
          • 归档未归档 SDK:仅通过归档 SDK 取消归档记录的权限。

          未归档 Apex 函数

          每个未归档请求搜索一个对象,并将最多六个筛选器应用于搜索。

          performUnarchiveSdk(String sObjectName, List<SearchFilter> filters, DateRange dateRange)
          performUnarchiveSdk(String sObjectName, List<SearchFilter> filters)

          Apex 参数

          sObjectName
          Apex 查询的对象。此参数必填。
          搜索筛选器
          根据字段条件缩小搜索结果的筛选器。此参数必填。
          • 字段名:要筛选的字段,例如NameCreatedDate
          • 值或值列表:要匹配的特定值。如果您使用值列表,Apex 数据查询会将它们与OR运算符组合。
          日期筛选器
          要根据日期进行搜索,请使用 DateRange 参数和所需的筛选器。 DateRange 会按ArchiveDateCreatedDateModifiedDate 等字段筛选记录。此参数是可选的。日期筛选器建议:
          • 添加archive_date日期字段,以根据归档日期进行搜索。
          • 使用 Apex 日期格式:MM/DD/YYYY。

          返回的值

          返回值为 ArchiverAccessorResponse

          • 执行的未归档操作的请求 ID
          • 搜索检索的记录总数
          • 状态代码,包括错误
          ArchiverAccessorResponse.getBody(); ⇒ String
          ArchiverAccessorResponse.getStatusCode(); ⇒ integer
            200 - if the request was accepted
            400 - if the request wasn't accepted
          ArchiverAccessorResponse.getErrorMessage(); ⇒ String

          取消归档 Apex 场景

          查看归档应用程序中未归档 Apex 流程的示例。

          场景 1:找到的匹配记录少于 1000 条,请求已处理 — 成功!

          您想要取消归档所有拥有学士学位的候选人。

          • 您使用筛选器has BA=true执行 Archive Apex Unarchive 功能。
          • 系统会搜索候选列表,并找到少于 1000 个已归档记录。
          • 添加类型为未归档 SDK 的新活动,并完成所有未归档字段。返回值是找到的记录数。

          场景 2:找到超过 1000 个匹配记录,请求未处理 — 失败

          您想要取消归档所有拥有硕士学位的候选人。

          • 您使用筛选器has MA=true执行 Archive Apex Unarchive 功能。
          • 系统会搜索候选列表,并找到 1000 多条已归档记录。
          • Archive Apex 取消归档过程不成功结束,并且没有创建活动。返回值包含找到的记录数和错误:400,范围太大。

          场景 3:少于 1000 条记录,未找到匹配记录,未处理请求 — 失败

          您想要取消归档所有拥有硕士学位的候选人。

          • 您使用筛选器has MA=true执行 Archive Apex Unarchive 功能。
          • 系统会搜索候选列表,找到少于 1000 个记录,但未找到匹配记录。未创建活动。返回值是找到的记录数。

          场景 4:找到的匹配记录少于 1000 条,请求已处理,部分成功 — 成功!

          您想要取消归档所有拥有学士学位的候选人。

          • 您使用筛选器has BA=true执行 Archive Apex Unarchive 功能。
          • 系统会搜索候选列表,找到少于 1000 个记录,并将其取消归档。
          • 与筛选器匹配的记录成功取消归档。添加类型为未归档 SDK 的新活动,并完成所有未归档字段。返回值是找到的记录数。

          代码文档

          performUnarchiveSdk(String sObjectName, List<SearchFilter> filters, DateRange dateRange)
          performUnarchiveSdk(String sObjectName, List<SearchFilter> filters)

          返回值:ArchiverAccessorResponse

          ArchiverAccessorResponse.getBody(); ⇒ String
          ArchiverAccessorResponse.getStatusCode(); ⇒ integer
            200 - if the request was accepted
            400 - if the request wasn't accepted
          ArchiverAccessorResponse.getErrorMessage(); ⇒ String

          代码示例

          示例 1:名为 Own 的未归档客户。

          List<SearchFilter> request = new List<SearchFilter>();
          String sObjectName = 'Account';
          SearchFilter filter1 = new SearchFilter('Name', 'Own');
          request.add(filter1);
          ArchiverAccessorResponse res = ArchiverAccessor.performUnarchiveSdk(sObjectName, request);
          Map<String, Object> jsonMap = (Map<String, Object>) JSON.deserializeUntyped(res.getBody());
          
          system.debug(jsonMap.get('request_id'));
          system.debug(jsonMap.get('total_result_count'));

          示例 2:带有筛选器的归档客户,其中名称是 PersonAccount3,日期范围是过去 150 天内创建的记录。

          // Initialize a list to hold search filters for the archive operation
          List<SF_Archive.SearchFilter> request = new List<SF_Archive.SearchFilter>();
          
          // Define the Salesforce object name to perform the operation on
          String sObjectName = 'Account';
          
          // Create a search filter based on the 'Name' field with a specific value
          SF_Archive.SearchFilter filter1 = new SF_Archive.SearchFilter('Name', 'PersonAccount3');
          
          // Add the created filter to the request list
          request.add(filter1);
          
          // Create a date range filter to select records created in the last 150 days
          // It calculates the start date by subtracting 150 days from today's date
          SF_Archive.dateRange range = new SF_Archive.dateRange('CreatedDate', system.today()-150, system.today());
          
          // Perform the unarchive operation with the specified object name, filters, and date range
          // This retrieves records from the archival that match the given criteria
          SF_Archive.ArchiverAccessorResponse res = SF_Archive.ArchiverAccessor.performUnarchiveSdk(sObjectName, request, range);
          
          // Deserialize the JSON response body to a Map object to easily access the data
          Map<String, Object> jsonMap = (Map<String, Object>) JSON.deserializeUntyped(res.getBody());
          
          // Debug print the request ID and total result count from the response for logging purposes
          system.debug(jsonMap.get('request_id'));
          system.debug(jsonMap.get('total_result_count'));

          取消归档 Apex 场景

          以下是归档应用程序中未归档 Apex 流程的示例。

          场景 1:找到的匹配记录少于 1000 条,请求已处理 — 成功!

          根据新的业务请求,客户想要取消归档所有拥有学士学位的候选人。

          1. 将 Archive Apex Unarchive 功能与筛选器has BA=true一起使用。
          2. 找到的候选人列表的未归档记录少于 1000 条。
          3. 使用新 typeArchive Apex Unarchive 函数添加新活动,并填写所有未归档字段。

            返回值 = 找到的记录数。

          场景 2:找到超过 1000 个匹配记录,请求未处理 — 失败

          根据新的业务请求,客户希望取消归档所有拥有硕士学位的候选人。

          1. 将 Archive Apex Unarchive 功能与筛选器has MA=true一起使用。
          2. 找到的候选人列表有 1000 多条未归档的记录。
          3. Archive Apex 取消归档过程不成功结束。
            未创建活动。
            返回值 = # 找到的记录,错误:400,范围过大

          场景 3:少于 1000 条记录,未找到匹配记录,未处理请求 — 失败

          根据新的业务请求,客户希望取消归档所有拥有硕士学位的候选人。

          1. 将 Archive Apex Unarchive 功能与筛选器has MA=true一起使用。
          2. 找到的候选人列表的记录少于 1000 条。未找到匹配记录。
            未创建活动。
            返回值 = 找到的记录数量

          场景 4:找到的匹配记录少于 1000 条,请求已处理,部分成功 — 成功!

          根据新的业务请求,客户希望取消归档所有拥有学士学位的候选人。

          1. 将 Archive Apex Unarchive 功能与筛选器has BA=true一起使用。
          2. 找到的候选人列表少于 1000 条记录,并且这些记录未归档。
          3. 与筛选器匹配的记录成功取消归档。
            使用新类型 Unarchive-Apex 添加新活动,并填写所有未归档字段。

            返回值 = 找到的记录数量

           
          正在加载
          Salesforce Help | Article