Вы находитесь здесь:
Отмена архивирования Apex
Программно отмените архивирование записей в приложении «Архивирование» на основе определенных фильтров и извлеките результаты поиска, соответствующие вашему запросу.
Отмена архивирования записи инициирует восстановление всего иерархического дерева корневых и дочерних записей.
Запросы отмены архивирования посредством Apex ограничены до 50 в час на организацию.
При превышении данного ограничения вы получаете код статуса HTTP 429.
Предварительные требования
Включите параметр «Архивировать» «Включить отмену архивирования» для отмены архивирования записей из приложения «Архивировать» или посредством Apex. Если вам нужно только одно полномочие отмены архивирования, включите одно из этих настраиваемых полномочий и назначьте его настраиваемому набору полномочий или профилю вручную.
- Отмена архивирования: Полномочие на отмену архивирования записей только из приложения «Архивирование».
- Архивировать Unarchive SDK: Полномочие на отмену архивирования записей только посредством Archive SDK.
Функции Unarchive Apex
Найдите один объект на запрос отмены архивирования и примените к поиску не более шести фильтров.
performUnarchiveSdk(String sObjectName, List<SearchFilter> filters, DateRange dateRange)
performUnarchiveSdk(String sObjectName, List<SearchFilter> filters)Параметры Apex
- sObjectName
- Объект, запрошенный Apex. Данный параметр является обязательным.
- Фильтры поиска
- Фильтры, сужающие результаты поиска на основе условий поля. Данный параметр является обязательным.
- Имя поля: Поле для фильтрации (например,
NameилиCreatedDate). - Значение или список значений: Определенное значение или значения для сопоставления. Если вы используете список значений, запросы данных Apex сочетают их с оператором
OR.
- Имя поля: Поле для фильтрации (например,
- Фильтры даты
- Для поиска на основе дат используйте параметр
DateRangeи обязательные фильтры.DateRangeфильтрует записи по таким полям, какArchiveDate,CreatedDateиModifiedDate. Это необязательный параметр. Рекомендации по фильтрации даты:- Добавьте поле даты
archive_dateдля поиска на основе даты архивирования. - Используйте формат даты Apex: ММ/ДД/ГГГГ.
- Добавьте поле даты
Возвращенные значения
Значение возврата: ArchiverAccessorResponse.
- Код запроса выполненной операции отмены архивирования
- Общее количество записей, извлеченных в результате поиска
- Код статуса, включая ошибки
ArchiverAccessorResponse.getBody(); ⇒ String
ArchiverAccessorResponse.getStatusCode(); ⇒ integer
200 - if the request was accepted
400 - if the request wasn't accepted
ArchiverAccessorResponse.getErrorMessage(); ⇒ StringСценарии Unarchive Apex
Ознакомьтесь с примерами отмены архивирования процесса Apex в приложении «Архивирование».
Сценарий 1: найдено менее 1 000 совпадающих записей, запрос обработан - Успешно!
Вам требуется отменить архивирование всех кандидатов со степенью бакалавра.
- Вы выполняете функцию «Архивировать Apex Unarchive» с
has BA=trueфильтра. - Система ищет список кандидатов и находит менее 1000 архивных записей.
- Добавляется новое действие типа «Отменить архивирование SDK» и заполняются все поля отмены архивирования. Значение возврата - это количество найденных записей.
Сценарий 2: найдено более 1000 совпадающих записей, запрос не обработан - сбой
Вам требуется отменить архивирование всех кандидатов со степенью магистра.
- Вы выполняете функцию «Архивировать Apex Unarchive» с
has MA=trueфильтра. - Система ищет список кандидатов и находит более 1000 архивных записей.
- Процесс отмены архивирования Apex завершается неудачно, действие не создается. Значение возврата содержит количество найденных записей и ошибку: 400, слишком большой.
Сценарий 3: менее 1000 записей, совпадающие записи не найдены, запрос не обработан - сбой
Вам требуется отменить архивирование всех кандидатов со степенью магистра.
- Вы выполняете функцию «Архивировать Apex Unarchive» с
has MA=trueфильтра. - Система ищет список кандидатов и находит менее 1000 записей, но не находит совпадающих записей. Действие не создается. Значение возврата - это количество найденных записей.
Сценарий 4: найдено менее 1 000 совпадающих записей, запрос обработан, частичный успех - Успех!
Вам требуется отменить архивирование всех кандидатов со степенью бакалавра.
- Вы выполняете функцию «Архивировать Apex Unarchive» с
has BA=trueфильтра. - Система ищет список кандидатов, находит менее 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: Неархивные организации под именем «Собственные».
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 в приложении «Архивировать».
Неархивные сценарии Apex
Ниже указаны примеры процесса отмены архивирования Apex в приложении «Архивировать».
Сценарий 1: Найдено менее 1 000 совпадающих записей, запрос обработан - Успешно!
Согласно новому бизнес-запросу, клиент хочет отменить архивирование всех кандидатов со степенью бакалавра.
-
Используйте функцию «Архивировать Apex Unarchive» с
has BA=trueфильтра. - Обнаруженный список кандидатов содержит менее 1000 неархивированных записей.
-
Добавляется новое действие с функцией отмены архивирования Apex нового типа и заполненными всеми полями отмены архивирования.
Значение возврата = количество найденных записей.
Сценарий 2: найдено более 1 000 совпадающих записей, запрос не обработан - сбой
Согласно новому бизнес-запросу, клиент хочет отменить архивирование всех кандидатов со степенью магистра.
-
Используйте функцию «Архивировать Apex Unarchive» с
has MA=trueфильтра. - Обнаруженный список кандидатов содержит более 1000 неархивированных записей.
-
Процесс отмены архивирования Apex завершается неудачно.
Действие не создается.Значение возврата =количество найденных записей, ошибка: 400, область слишком большая
Сценарий 3: Менее 1000 записей, совпадающие записи не найдены, запрос не обработан - Сбой
Согласно новому бизнес-запросу, клиент хочет отменить архивирование всех кандидатов со степенью магистра.
-
Используйте функцию «Архивировать Apex Unarchive» с
has MA=trueфильтра. -
Обнаруженный список кандидатов содержит менее 1000 записей. Подходящие записи не найдены.
Действие не создается.Значение возврата = Количество найденных записей
Сценарий 4: найдено менее 1000 совпадающих записей, запрос обработан, частичный успех - Успех!
Согласно новому бизнес-запросу, клиент хочет отменить архивирование всех кандидатов, имеющих степень бакалавра.
-
Используйте функцию «Архивировать Apex Unarchive» с
has BA=trueфильтра. - Обнаруженный список кандидатов содержит менее 1 000 записей, а записи не архивируются.
-
Записи, соответствующие фильтру, успешно отменяют архивирование.
Добавляется новое действие с новым типом Unarchive-Apex и заполняются все поля unarchive.
Значение возврата = Количество найденных записей

