Usted está aquí:
Apex no archivado
Desarchive registros programáticamente 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 no archivadas 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
Active Archive Active Unarchive para desarchivar registros desde la aplicación Archive o mediante Apex. Si solo necesita un permiso sin archivar, active uno de estos permisos personalizados y asígnelo manualmente a un conjunto de permisos o perfil personalizado.
- Archive Unarchive: Permiso para desarchivar registros solo desde la aplicación Archivar.
- SDK de Archivar unarchivo: Permiso para desarchivar registros solo a través de Archive SDK.
Desarchivar funciones Apex
Busque un objeto por solicitud sin archivar 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
- sObjectName
- El objeto consultado por Apex. Este parámetro es obligatorio.
- Filtros de búsqueda
- Filtros que restringen los resultados de búsqueda en base a las condiciones del campo. Este parámetro es obligatorio.
- Nombre del campo: El 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: El 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 de devolución 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 Apex no archivado en la aplicación Archivar.
Escenario 1: Se encontraron menos de 1.000 registros coincidentes, la solicitud se procesó: ¡É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 y encuentra menos de 1.000 registros archivados.
- Se agrega una nueva actividad del tipo SDK de Unarchive y se completan todos los campos de unarchive. El valor de devolución es el número de registros encontrados.
Escenario 2: Se encontraron 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 la lista de candidatos y encuentra menos de 1.000 registros, pero no se encuentran registros coincidentes. No se crea ninguna actividad. El valor de devolución 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.
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 Unarchive y se completan todos los campos de unarchive. El valor de devolución 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 son 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
Estos son ejemplos del proceso de Apex no archivado en la aplicación Archivar.
Escenarios Apex no archivados
Estos son ejemplos del proceso de Apex no archivado en la aplicación Archivar.
Escenario 1: Se encontraron menos de 1.000 registros coincidentes, la solicitud se procesó: ¡Éxito!
Según una nueva solicitud de negocio, 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 sin archivar.
-
Se agrega una nueva actividad con una nueva función typeArchive Apex Unarchive y todos los campos no archivados 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 de negocio, 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 sin archivar.
-
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 de negocio, 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 = # 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.
Según una nueva solicitud de negocio, 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 no archivados.
Valor devuelto = # registros encontrados

