Usted está aquí:
Desarchivar Apex
Desarchive registros de forma programática en la aplicación Archivar basándose en filtros específicos y recupere resultados de búsqueda que coincidan con su solicitud.
La desarchivación de un registro también desarchiva todo su árbol jerárquico de registros raíz y secundarios.
Las solicitudes sin archivar mediante Apex están limitadas a 50 por hora por organización.
Si supera este límite, recibirá el código de estado HTTP 429.
Requisitos previos
Active Archive Activar Desarchivar para desarchivar registros desde la aplicación Archive o mediante Apex. Si solo necesita un permiso de desarchivado, active uno de estos permisos personalizados y asígnelo manualmente a un perfil o conjunto de permisos personalizado.
- Archivo No archivado: Permiso para desarchivar registros solo desde la aplicación Archivar.
- Archive Unarchive SDK: Permiso para desarchivar registros solo a través de Archive SDK.
Desarchivar funciones Apex
Busque un objeto por solicitud de desarchivado y aplique un máximo de seis filtros a la búsqueda.
performUnarchiveSdk(String sObjectName, List<SearchFilter> filters, DateRange dateRange)
performUnarchiveSdk(String sObjectName, List<SearchFilter> filters)Parámetros Apex
- NombreObjetos
- El objeto consultado por Apex. Este parámetro es obligatorio.
- Filtros de búsqueda
- Filtros que restringen los resultados de búsqueda basándose en condiciones de campo. Este parámetro es obligatorio.
- Nombre del campo: Campo por el que filtrar, como
NameoCreatedDate. - Valor o lista de valores: El valor o valores específicos para coincidir. Si utiliza una lista de valores, Apex Data Queries los combina con un operador de
OR.
- Nombre del campo: Campo por el que filtrar, como
- Filtros de fecha
- Para buscar basándose en fechas, utilice el parámetro
DateRangey los filtros requeridos.DateRangefiltra registros por campos comoArchiveDate,CreatedDateyModifiedDate. Este parámetro es opcional. Recomendaciones de filtro de fecha:- Agregue el campo de fecha de
archive_datepara buscar en base a la fecha de archivo. - Utilice el formato de fecha Apex: MM/DD/AAAA.
- Agregue el campo de fecha de
Valores devueltos
El valor devuelto es ArchiverAccessorResponse.
- Id. de solicitud de la operación de desarchivado realizada
- Número total de registros recuperados por la búsqueda
- Código de estado, incluyendo errores
ArchiverAccessorResponse.getBody(); ⇒ String
ArchiverAccessorResponse.getStatusCode(); ⇒ integer
200 - if the request was accepted
400 - if the request wasn't accepted
ArchiverAccessorResponse.getErrorMessage(); ⇒ StringDesarchivar escenarios Apex
Revise ejemplos del proceso de desarchivar Apex en la aplicación Archivar.
Escenario 1: Se han encontrado menos de 1.000 registros coincidentes, la solicitud se ha procesado: ¡Exitosa!
Desea desarchivar todos los candidatos que tienen una licenciatura.
- Ejecuta la función Archive Apex Unarchive con el
has BA=truede filtro. - El sistema busca la lista de candidatos y encuentra menos de 1.000 registros archivados.
- Se agrega una nueva actividad del tipo SDK de desarchivado y se completan todos los campos de desarchivado. El valor devuelto es el número de registros encontrados.
Escenario 2: Se han encontrado más de 1.000 registros coincidentes, solicitud no procesada: Error
Desea desarchivar todos los candidatos que tienen una maestría.
- Ejecuta la función Archive Apex Unarchive con el
has MA=truede filtro. - El sistema busca la lista de candidatos y encuentra más de 1.000 registros archivados.
- El proceso de desarchivar Apex finaliza sin éxito y no se crea ninguna actividad. El valor de devolución incluye el número de registros encontrados y un error: 400, ámbito demasiado grande.
Escenario 3: Menos de 1.000 registros, sin registros coincidentes, sin solicitud procesada: Error
Desea desarchivar todos los candidatos que tienen una maestría.
- Ejecuta la función Archive Apex Unarchive con el
has MA=truede filtro. - El sistema busca en la lista de candidatos y encuentra menos de 1.000 registros, pero no se encuentran registros coincidentes. No se crea ninguna actividad. El valor devuelto es el número de registros encontrados.
Escenario 4: Se han encontrado menos de 1.000 registros coincidentes, se ha procesado la solicitud y se ha realizado un éxito parcial: ¡Éxito!
Desea desarchivar todos los candidatos que tienen una licenciatura.
- Ejecuta la función Archive Apex Unarchive con el
has BA=truede filtro. - El sistema busca la lista de candidatos, encuentra menos de 1.000 registros y los desarchiva.
- Los registros que coinciden con el filtro se desarchivan correctamente. Se agrega una nueva actividad del tipo SDK de desarchivado y se completan todos los campos de desarchivado. El valor devuelto es el número de registros encontrados.
Documentación de código
performUnarchiveSdk(String sObjectName, List<SearchFilter> filters, DateRange dateRange)
performUnarchiveSdk(String sObjectName, List<SearchFilter> filters)Valor de devolución: ArchiverAccessorResponse
ArchiverAccessorResponse.getBody(); ⇒ String
ArchiverAccessorResponse.getStatusCode(); ⇒ integer
200 - if the request was accepted
400 - if the request wasn't accepted
ArchiverAccessorResponse.getErrorMessage(); ⇒ StringEjemplos de código
Ejemplo 1: Desarchivar cuentas denominadas propias.
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'));Ejemplo 2: Desarchivar cuentas con un filtro, donde el nombre es PersonAccount3 y el intervalo de fechas es registros creados en los últimos 150 días.
// 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'));- Escenarios Apex no archivados
A continuación se muestran ejemplos del proceso de desarchivar Apex en la aplicación Archivar.
Escenarios Apex no archivados
A continuación se muestran ejemplos del proceso de desarchivar Apex en la aplicación Archivar.
Escenario 1: Se han encontrado menos de 1.000 registros coincidentes, se ha procesado la solicitud: ¡Éxito!
Según una nueva solicitud comercial, un cliente desea desarchivar todos los candidatos que tienen una licenciatura.
-
Utilice la función Archive Apex Unarchive con el
has BA=truede filtro. - La lista de candidatos encontrada tiene menos de 1.000 registros no archivados.
-
Se agrega una nueva actividad con una nueva función typeArchive Apex Unarchive y todos los campos de desarchivado rellenados.
Valor devuelto = El número de registros encontrados.
Escenario 2: Se encontraron más de 1.000 registros coincidentes, solicitud no procesada: Error
De acuerdo con una nueva solicitud comercial, el cliente desea desarchivar todos los candidatos que tienen una maestría.
-
Utilice la función Archive Apex Unarchive con el
has MA=truede filtro. - La lista de candidatos encontrada tiene más de 1.000 registros no archivados.
-
El proceso de desarchivar Apex finaliza sin éxito.
No se crea ninguna actividad.Valor devuelto =# registros encontrados, error: 400, ámbito demasiado grande
Escenario 3: Menos de 1.000 registros, sin registros coincidentes, sin solicitud procesada: Fallo
De acuerdo con una nueva solicitud comercial, el cliente desea desarchivar todos los candidatos que tienen una maestría.
-
Utilice la función Archive Apex Unarchive con el
has MA=truede filtro. -
La lista de candidatos encontrada tiene menos de 1.000 registros. No se encuentran registros coincidentes.
No se crea ninguna actividad.Valor devuelto = No de registros encontrados
Escenario 4: Se han encontrado menos de 1.000 registros coincidentes, se ha procesado la solicitud y se ha realizado un éxito parcial: ¡Éxito!
Según una nueva solicitud comercial, el cliente desea desarchivar todos los candidatos que tienen una licenciatura.
-
Utilice la función Archive Apex Unarchive con el
has BA=truede filtro. - La lista de candidatos encontrada es inferior a 1.000 registros y los registros no están archivados.
-
Los registros que coinciden con el filtro se desarchivan correctamente.
Se agrega una nueva actividad con un nuevo tipo Unarchive- Apex y se rellenan todos los campos unarchive.
Valor devuelto = No de registros encontrados

