Ti trovi qui:
Annulla archiviazione Apex
Nell'app Archivia, avviare a livello di programmazione una funzione di annullamento dell'archiviazione basata su filtri specifici. Avviare quindi una ricerca per codice e ottenere i risultati corrispondenti alla richiesta.
Annullando l'archiviazione del record, si annulla l'archiviazione dell'intero albero gerarchico di tutti i record radice o controllati correlati.
Prerequisiti:
Archivia Abilita Annulla archiviazione: annullare l'archiviazione dei record dall'archivio o tramite Apex.
Se è necessaria una sola autorizzazione di annullamento dell'archiviazione, è possibile abilitare una di queste autorizzazioni personalizzate e quindi assegnarla manualmente a un insieme di autorizzazioni o a un profilo personalizzato.
- Archivia Annulla archiviazione: autorizzazione ad annullare l'archiviazione dei record solo da Archivia.
- Archive Unarchive SDK: autorizzazione ad annullare l'archiviazione dei record solo tramite Archive Apex.
Annulla archiviazione delle funzioni Apex
È possibile cercare un oggetto per ogni richiesta di annullamento dell'archiviazione e applicare un massimo di 6 filtri alla ricerca.
1. performUnarchiveSdk(string sObjectName, list<SearchFilter> filters, DateRange dateRange)
2. performUnarchiveSdk(string sObjectName, list<SearchFilter> filters)Parametri Apex
sObjectName: l'oggetto sottoposto a query da Apex.
Questo parametro è obbligatorio.
Filtri di ricerca: filtri che restringono i risultati della ricerca in base alle condizioni dei campi.
- Nome campo: il campo in base al quale si desidera filtrare, ad esempio
NameoCreatedDate. - Valore o elenco di valori: il valore o i valori specifici che si desidera abbinare.
Se si utilizza un elenco di valori, le query sui dati Apex vengono eseguite con
ORtra i valori.
Questo parametro è obbligatorio.
Filtri data: se si desidera eseguire una ricerca in base alle date, utilizzare il parametro DateRange e i filtri obbligatori. DateRange filtra i record in base a campi come ArchiveDate, CreatedDate e ModifiedDate.
Consigli sui filtri data:
- Per eseguire la ricerca in base alla Data archiviazione, aggiungere il campo Data
archive_date. - Utilizzare il formato di data Apex: MM/GG/AAAA.
Questo parametro è facoltativo.
Valori restituiti
- ID richiesta dell'operazione di annullamento dell'archiviazione eseguita
- Numero totale di record recuperati dalla ricerca
- Codice di stato, inclusi gli errori.
Valore restituito: ArchiverAccessorResponse
1. ArchiverAccessorResponse.getBody(); ⇒ string
2. ArchiverAccessorResponse.getStatusCode();⇒ string
a. 200 - if we accepted your request
b. 400 - if we did not accept your request
3. ArchiverAccessorResponse.getErrorMessage();⇒ stringDocumentazione sul codice
performUnarchiveSdk(string sObjectName, list<SearchFilter> filters, DateRange dateRange)performUnarchiveSdk(string sObjectName, list<SearchFilter> filters)Valore restituito: ArchiverAccessorResponse
1. ArchiverAccessorResponse.getBody(); ⇒ string
2. ArchiverAccessorResponse.getStatusCode();⇒ string
a. 200 - if we accepted your request
b. 400 - if we did not accept your request
3. ArchiverAccessorResponse.getErrorMessage();⇒ stringEsempio di codice Apex Unarchive
Esempio 1: Annullare l'archiviazione degli account denominati Propri.
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'));Esempio 2: Annullare l'archiviazione degli account con un filtro, dove il nome è PersonAccount3 e l'intervallo di date è record creati negli ultimi 150 giorni.
// 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'));- Annullamento dell'archiviazione degli scenari Apex
Di seguito sono riportati esempi del processo Apex di annullamento dell'archiviazione nell'app Archivia.
Annullamento dell'archiviazione degli scenari Apex
Di seguito sono riportati esempi del processo Apex di annullamento dell'archiviazione nell'app Archivia.
Scenario 1: Meno di 1.000 record corrispondenti trovati, richiesta elaborata: successo!
Secondo una nuova richiesta aziendale, un cliente desidera annullare l'archiviazione di tutti i candidati in possesso di una laurea.
-
Utilizzare la funzione Archivia Apex Unarchive con il
has BA=truefilter. - L'elenco dei candidati trovato ha meno di 1.000 record non archiviati.
-
Viene aggiunta una nuova attività con una nuova funzione typeArchive Apex Unarchive e tutti i campi di annullamento dell'archiviazione compilati.
Valore restituito = Il numero di record trovati.
Scenario 2: Più di 1.000 record corrispondenti trovati, richiesta non elaborata — Errore
In base a una nuova richiesta aziendale, il cliente desidera annullare l'archiviazione di tutti i candidati in possesso di un master.
-
Utilizzare la funzione Archivia Apex Unarchive con il
has MA=truefilter. - L'elenco dei candidati trovato ha più di 1.000 record non archiviati.
-
Il processo di annullamento dell'archiviazione Apex Archivia non riesce.
Non viene creata alcuna attività.Valore restituito =# record trovati, errore: 400, Scope troppo grande
Scenario 3: Meno di 1.000 record, nessun record corrispondente trovato, nessuna richiesta elaborata: errore
In base a una nuova richiesta aziendale, il cliente desidera annullare l'archiviazione di tutti i candidati in possesso di un master.
-
Utilizzare la funzione Archivia Apex Unarchive con il
has MA=truefilter. -
L'elenco dei candidati trovato ha meno di 1.000 record. Non vengono trovati record corrispondenti.
Non viene creata alcuna attività.Valore restituito = # record trovati
Scenario 4: Meno di 1.000 record corrispondenti trovati, richiesta elaborata, esito positivo parziale: successo!
Secondo una nuova richiesta aziendale, il cliente desidera annullare l'archiviazione di tutti i candidati in possesso di una laurea.
-
Utilizzare la funzione Archivia Apex Unarchive con il
has BA=truefilter. - L'elenco dei candidati trovato è inferiore a 1.000 record e i record non vengono archiviati.
-
I record che corrispondono al filtro vengono annullati correttamente.
Viene aggiunta una nuova attività con un nuovo tipo Unarchive-Apex e vengono compilati tutti i campi di annullamento dell'archiviazione.
Valore restituito = # record trovati

