U bent hier:
Apex archiveren opheffen
Start in de app Archiveren programmatisch een functie voor het opheffen van archiveren op basis van specifieke filters. Start vervolgens een zoekopdracht op code en krijg de resultaten die overeenkomen met uw verzoek.
Door de archivering van de record ongedaan te maken, heft u de archivering van de gehele hiërarchische structuur op van alle root- of onderliggende records die eraan gerelateerd zijn.
Vereisten:
Archiveren Ongedaan maken van archiveren inschakelen—Archiveer records uit het archief of via Apex.
Als u slechts één machtiging voor het ongedaan maken van archiveren nodig hebt, kunt u een van deze aangepaste machtigingen inschakelen en deze vervolgens handmatig toewijzen aan een aangepaste machtigingenset of een aangepast profiel.
- Archiveren ongedaan maken—Machtiging voor het ongedaan maken van het archiveren van records alleen vanuit Archiveren.
- SDK archiveren Ongedaan maken: machtiging om records ongedaan te maken via Apex archiveren.
Apex functies archiveren opheffen
U kunt één object per niet-gearchiveerde aanvraag zoeken en maximaal 6 filters toepassen op de zoekopdracht.
1. performUnarchiveSdk(string sObjectName, list<SearchFilter> filters, DateRange dateRange)
2. performUnarchiveSdk(string sObjectName, list<SearchFilter> filters)Apex parameters
sObjectName: het object waarop een query is uitgevoerd door Apex.
Deze parameter is verplicht.
Zoekfilters: filters die zoekresultaten verfijnen op basis van veldvoorwaarden.
- Veldnaam: het veld waarop u wilt filteren, zoals
NameofCreatedDate. - Waarde of Lijst van waarden—De specifieke waarde of waarden die u wilt vergelijken.
Bij gebruik van een lijst van waarden worden Apex gegevensquery's uitgevoerd met
ORtussen de waarden.
Deze parameter is verplicht.
Datumfilters: als u wilt zoeken op basis van datums, gebruikt u de parameter DateRange en de verplichte filters. DateRange filtert records op velden zoals ArchiveDate, CreatedDate en ModifiedDate.
Aanbevelingen voor datumfilters:
- Voeg voor zoeken op basis van Archiveringsdatum het veld
archive_datetoe. - Gebruik de Apex datumnotatie: MM/DD/JJJJ.
Deze parameter is optioneel.
Geretourneerde waarden
- Verzoek-ID van de uitgevoerde archiveringsbewerking ongedaan maken
- Totaal aantal records opgehaald door zoekopdracht
- Statuscode, inclusief fouten.
Retourwaarde: 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();⇒ stringCodedocumentatie
performUnarchiveSdk(string sObjectName, list<SearchFilter> filters, DateRange dateRange)performUnarchiveSdk(string sObjectName, list<SearchFilter> filters)Retourwaarde: 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();⇒ stringVoorbeeld van Apex Unarchive Code
Voorbeeld 1: Maak het archiveren van accounts met de naam Eigen ongedaan.
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'));Voorbeeld 2: Maak het archiveren van accounts ongedaan met een filter, waarbij de naam PersonAccount3 is en het datumbereik records zijn die in de afgelopen 150 dagen zijn gemaakt.
// 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 scenario's archiveren opheffen
Hier zijn voorbeelden van het proces Apex archiveren opheffen in de app Archiveren.
Apex scenario's archiveren opheffen
Hier zijn voorbeelden van het proces Apex archiveren opheffen in de app Archiveren.
Scenario 1: Minder dan 1000 overeenkomende records gevonden, verzoek verwerkt—Geslaagd!
Volgens een nieuw bedrijfsverzoek wil een klant alle kandidaten met een bachelordiploma ongedaan maken.
-
Gebruik de functie Apex Unarchive archiveren met de filter
has BA=true. - De gevonden kandidatenlijst bevat minder dan 1000 niet-gearchiveerde records.
-
Er wordt een nieuwe activiteit toegevoegd met een nieuwe functie Apex archiveren Ongedaan maken en alle velden voor Ongedaan maken van archiveren worden ingevuld.
Retourwaarde = Het aantal gevonden records.
Scenario 2: Meer dan 1000 overeenkomende records gevonden, verzoek niet verwerkt—Mislukt
Volgens een nieuw bedrijfsverzoek wil de klant alle kandidaten met een masterdiploma ongedaan maken.
-
Gebruik de functie Apex Unarchive archiveren met de filter
has MA=true. - De gevonden kandidatenlijst bevat meer dan 1000 niet-gearchiveerde records.
-
Het proces Apex archiveren ongedaan maken eindigt zonder succes.
Er wordt geen activiteit gemaakt.Retourwaarde =# records gevonden, fout: 400, bereik te groot
Scenario 3: Minder dan 1000 records, geen overeenkomende records gevonden, geen verzoek verwerkt—Mislukt
Volgens een nieuw bedrijfsverzoek wil de klant alle kandidaten met een masterdiploma ongedaan maken.
-
Gebruik de functie Apex Unarchive archiveren met de filter
has MA=true. -
De gevonden kandidatenlijst heeft minder dan 1000 records. Er worden geen overeenkomende records gevonden.
Er wordt geen activiteit gemaakt.Retourwaarde = aantal records gevonden
Scenario 4: Minder dan 1000 overeenkomende records gevonden, verzoek verwerkt, gedeeltelijk geslaagd: geslaagd!
Volgens een nieuw bedrijfsverzoek wil de klant alle kandidaten met een bachelordiploma ongedaan maken.
-
Gebruik de functie Apex Unarchive archiveren met de filter
has BA=true. - De gevonden kandidatenlijst is kleiner dan 1000 records en de records zijn niet-gearchiveerd.
-
Records die overeenkomen met het filter, worden met succes ongedaan gemaakt.
Er wordt een nieuwe activiteit toegevoegd met het nieuwe type Apex archiveren opheffen en alle velden voor archiveren opheffen worden ingevuld.
Retourwaarde = aantal records gevonden

