Menü der Dokumentation

Verwenden der Klasse “DocumentSearchOptions”

Die Klasse dvelop_docs_dev.DocumentSearchOptions definiert die Parameter, mit denen Dokumente aus dem angebundenen Dokumentenmanagementsystem (DMS) abgerufen werden.

Signatur
global with sharing class DocumentSearchOptions implements IDocumentSearchOptions
Inhalt
Konstruktoren

Du kannst eine Instanz von DocumentSearchOptions mit folgenden Konstruktoren erzeugen:

DocumentSearchOptions() 

Der Konstruktor erstellt eine DocumentSearchOptions-Instanz mit Standardwerten.

Signatur 
global DocumentSearchOptions()
Methoden

Die Klasse DocumentSearchOptions bietet folgende Methoden:

buildOptions()

Die Methode erzeugt eine Instanz der Klasse DocumentSearchOptions.Builder.

Anmerkung

Eine genaue Anleitung, wie du die Klasse DocumentSearchOptions.Builder verwendest, findest du hier.

Signatur
global static DocumentSearchOptions.Builder buildOptions()
Rückgabe

Eine neue Instanz von dvelop_docs_dev.DocumentSearchOptions.Builder.

useRecordContext(recordId)

Die Methode ändert den Kontext der Suche für den Datensatz mit der übergebenen ID.

Alle Einstellungen wie Zuordnungen (Mappings), Dokumentartzuordnungen, Eigenschaftszuordnungen und Sortierungseinstellungen werden anschließend anhand der Objekttypen und des Datensatztypen des übergebenen Datensatzes ermittelt.

Anmerkung

Wenn du diese Methode verwendest, werden folgende zuvor verwendete Methoden unwirksam:

  • useObjectContext(objectApiName) 

  • useObjectContext(objectApiName, recordTypeId) 

Verwende immer nur eine der verfügbaren Methoden.

Signatur
global void useRecordContext(Id recordId)
Parameter

recordId: Die ID des Datensatzes, der als Kontext für die Suche verwendet werden soll.

Datentyp: Id

useObjectContext(objectApiName)

Die Methode ändert den Kontext der Suche auf das Salesforce-Objekt mit dem übergebenen API-Namen.

Alle Einstellungen wie Zuordnungen (Mappings), Dokumentartzuordnungen, Eigenschaftszuordnungen und Sortierungseinstellungen werden anschließend anhand des übergebenen Objekts und des Standarddatensatztypen Master ermittelt.

Anmerkung

Wenn du diese Methode verwendest, werden folgende zuvor verwendete Methoden unwirksam:

  • useObjectContext(objectApiName) 

  • useObjectContext(objectApiName, recordTypeId) 

Verwende immer nur eine der verfügbaren Methoden.

Signatur
global void useObjectContext(String objectApiName)
Parameter

objectApiName: Der API-Name des Salesforce-Objekts, das als Kontext für die Suche verwendet werden soll. 

Datentyp: String

useObjectContext(objectApiName, recordTypeId)

Die Methode ändert den Kontext der Suche auf das Salesforce-Objekt mit dem übergebenen API-Namen und den Datensatztypen mit der übergebenen ID.

Alle Einstellungen wie Zuordnungen (Mappings), Dokumentartzuordnungen, Eigenschaftszuordnungen und Sortierungseinstellungen werden anschließend anhand des übergebenen Objekts und des übergebenen Datensatztypen ermittelt.

Anmerkung

Wenn du diese Methode verwendest, werden folgende zuvor verwendete Methoden unwirksam:

  • useObjectContext(objectApiName) 

  • useObjectContext(objectApiName, recordTypeId) 

Verwende immer nur eine der verfügbaren Methoden.

Signatur
global void useObjectContext(String objectApiName, String recordTypeId)
Parameter
  • objectApiName: Der API-Name des Salesforce-Objekts, das als Kontext für die Suche verwendet werden soll. 

    Datentyp: String

  • recordTypeId: Die ID des Datensatztypen, der als Kontext für die Suche verwendet werden soll.

    Datentyp: String

addSearchAttribute(attributeKey, value)

Die Methode fügt eine benutzerdefinierte Sucheigenschaft mit einem entsprechenden Wert zu den bestehenden Sucheigenschaften hinzu.

Du kannst beliebig viele Eigenschaften und Werte für die Suche definieren, die das Ergebnis der Suche auf Dokumente mit passenden Eigenschaften einschränken.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Mapping 

  • Eigenschaften > Zuordnungen 

Signatur
global void addSearchAttribute(String attributeKey, String value)
Parameter
  • attributeKey: Der Schlüssel der Eigenschaft, die zur Suche verwendet werden soll. Eine vollständige Übersicht über die verfügbaren Schlüssel findest du unter Eigenschaften > Zuordnung in deiner d.velop documents-Konfiguration.

    Datentyp: String

  • value: Der Wert der Eigenschaft, der mit den Eigenschaften der Dokumente abgeglichen wird. 

    Datentyp: String

addSearchAttribute(attributeKey, values)

Die Methode fügt eine benutzerdefinierte Sucheigenschaft mit einer Liste von entsprechenden Werten zu den bestehenden Sucheigenschaften hinzu.

Du kannst beliebig viele Eigenschaften und Werte für die Suche definieren, die das Ergebnis der Suche auf Dokumente mit passenden Eigenschaften einschränken.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Mapping 

  • Eigenschaften > Zuordnungen 

Signatur
global void addSearchAttribute(String attributeKey, List<String> values)
Parameter
  • attributeKey: Der Schlüssel der Eigenschaft, die zur Suche verwendet werden soll. Eine vollständige Übersicht über die verfügbaren Schlüssel findest du unter Eigenschaften > Zuordnung in deiner d.velop documents-Konfiguration.

    Datentyp: String

  • values: Eine Liste von möglichen Werten der Eigenschaft, die mit den Eigenschaften der Dokumente abgeglichen wird. Die Werte werden mit ODER verknüpft. Wenn ein Wert übereinstimmt, wird ein Dokument gefunden. 

    Datentyp: List<String>

addSearchAttributes(searchAttributes)

Die Methode fügt mehrere Sucheigenschaften und -werte zu den bestehenden Sucheigenschaften hinzu.

Du kannst beliebig viele Eigenschaften und Werte für die Suche definieren, die das Ergebnis der Suche auf Dokumente mit passenden Eigenschaften einschränken.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Mapping 

  • Eigenschaften > Zuordnungen 

Signatur
global void addSearchAttributes(Map<String, String> searchAttributes)
Parameter

searchAttributes: Eine Sammlung von Schlüssel-Wert-Paaren für Sucheigenschaften. 

Datentyp: Map<String, String>

ignoreSearchAttributes()

Die Methode ignoriert alle globalen Sucheigenschaften und alle benutzerdefinierten Sucheigenschaften, die du zuvor mithilfe der Methoden addSearchAttribute oder addSearchAttributes eingefügt hast.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Mapping 

  • Eigenschaften > Zuordnungen 

Wenn du diese Methode verwendest, wird der Effekt folgender Methoden unabhängig von der Reihenfolge der Verwendung überschrieben:

  • addSearchAttribute 

  • addSearchAttributes 

Signatur
global void ignoreSearchAttributes()
addSearchCategory(categoryKey)

Die Methode fügt eine benutzerdefinierte Suchkategorie zu den bestehenden Suchkategorien hinzu.

Du kannst beliebig viele Suchkategorien definieren, die das Ergebnis der Suche auf Dokumente mit passenden Kategorien einschränken.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Dokumentarten > Zuordnung 

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen 

Signatur
global void addSearchCategory(String categoryKey)
Parameter

categoryKey: Der Schlüssel der Kategorie, die für die Suche verwendet werden soll. Eine vollständige Übersicht über die verfügbaren Schlüssel findest du unter Dokumentarten > Zuordnung in deiner d.velop documents-Konfiguration. 

Datentyp: String

addSearchCategories(categoryKeys)

Die Methode fügt mehrere Suchkategorien zu den bestehenden Suchkategorien hinzu.

Du kannst beliebig viele Suchkategorien definieren, die das Ergebnis der Suche auf Dokumente mit passenden Kategorien einschränken.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Dokumentarten > Zuordnungen 

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen 

Signatur
global void addSearchCategories(List<String> categoryKeys)
Parameter

categoryKeys: Eine Liste von Schlüsseln für Suchkategorien. 

Datentyp: List<String>

ignoreSearchCategories()

Die Methode ignoriert alle globalen Suchkategorien und alle benutzerdefinierten Suchkategorien, die du zuvor mithilfe der Methoden addSearchCategory oder addSearchCategories eingefügt hast.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Dokumentarten > Zuordnungen 

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen 

Wenn du diese Methode verwendest, wird der Effekt folgender Methoden unabhängig von der Reihenfolge der Verwendung überschrieben:

  • addSearchCategory 

  • addSearchCategories 

Signatur
global void ignoreSearchCategories()
hideFolders()

Die Methode blendet Akten in den Suchergebnissen aus.

Anmerkung

Wenn du diese Methode verwendest, werden folgende globale Einstellungen überschrieben:

  • Dokumentenliste > Allgemeine Einstellungen > Ordner anzeigen 

Diese Methode hat ausschließlich einen Effekt, wenn mit einer Suche auch tatsächlich Akten ermittelt werden können. Es gelten folgende Voraussetzungen:

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen ist deaktiviert.

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen ist aktiviert und mit Dokumentarten > Zuordnungen eingefügte Suchkategorien enthalten Akten.

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen ist aktiviert und mit den Methoden addSearchCategory oder addSearchCategories eingefügte Suchkategorien enthalten Akten.

Signatur
global void hideFolders()
showFolders()

Die Methode zeigt Akten in den Suchergebnissen an.

Anmerkung

Der Aufruf dieser Methode überschreibt folgende globale Einstellungen:

  • Dokumentenliste > Allgemeine Einstellungen > Ordner anzeigen 

Diese Methode hat ausschließlich einen Effekt, wenn mit einer Suche auch tatsächlich Akten ermittelt werden können. Es gelten folgende Voraussetzungen:

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen ist deaktiviert.

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen ist aktiviert und mit Dokumentarten > Zuordnungen eingefügte Suchkategorien enthalten Akten.

  • Dokumentarten > Allgemeine Einstellungen > Nur ausgewählte Dokumentarten suchen ist aktiviert und mit den Methoden addSearchCategory oder addSearchCategories eingefügte Suchkategorien enthalten Akten.

Signatur
global void showFolders()
sortByAttribute(attributeKey)

Die Methode fügt die Eigenschaft mit dem übergebenen Schlüssel als Sortiereigenschaft ein. Das Ergebnis der Suche wird anschließend anhand der Werte der angegebenen Eigenschaft sortiert. Die Sortierung ist standardmäßig aufsteigend.

Signatur
global void sortByAttribute(String attributeKey)
Parameter

attributeKey: Der Schlüssel der Eigenschaft, die für die Sortierung der Suchergebnisse verwendet werden soll. 

Datentyp: String

sortAscending()

Die Methode sortiert die Suchergebnisse in aufsteigender Reihenfolge. Die Sortierung erfolgt anhand der mit der Methode sortByAttribute definierten Sortiereigenschaft.

Anmerkung

Diese Methode hat nur einen Effekt, wenn du zusätzlich eine Sortiereigenschaft mithilfe der Methode sortByAttribute festgelegt hast.

Signatur
global void sortAscending()
sortDescending()

Die Methode sortiert die Suchergebnisse in absteigender Reihenfolge. Die Sortierung erfolgt anhand der mit der Methode sortByAttribute definierten Sortiereigenschaft.

Anmerkung

Diese Methode hat ausschließlich einen Effekt, wenn du zusätzlich eine Sortiereigenschaft mithilfe der Methode sortByAttribute festgelegt hast.

Signatur
global void sortDescending()
setSearchText(searchText)

Die Methode sucht in allen Dokumenten zusätzlich via Volltextsuche nach dem übergebenen Suchbegriff und schränkt die Ergebnisse auf passende Dokumente ein.

Signatur
global void setSearchText(String searchText)
Parameter

searchText: Der Suchbegriff für die Volltextsuche. 

Datentyp: String

setMaxAgeInDays(maxAgeInDays)

Die Methode setzt ein maximales Alter (in Tagen) für die Suche ein. Alle Dokumente, die älter als die angegebene Anzahl an Tagen sind, werden in der Suche nicht berücksichtigt.

Signatur
global void setMaxAgeInDays(Integer maxAgeInDays)
Parameter

maxAgeInDays: Das maximale Alter der Dokumente in Tagen. 

Datentyp: Integer

setPageIndex(pageIndex)

Die Methode setzt die Seitennummer der Dokumente im Suchergebnis ein. Die Anzahl der verfügbaren Seiten wird durch die Anzahl aller verfügbaren Dokumente und der mit der Methode setPageSize definierten Seitengröße bestimmt.

Signatur
global void setPageIndex(Integer pageIndex)
Parameter

pageIndex: Die Nummer bzw. der Index der Seite. Der Startindex ist 1.

  • Datentyp: Integer

  • Standardwert: 1

setPageSize(pageSize)

Die Methode fügt die Seitengröße ein und bestimmt damit die maximale Anzahl der Dokumente im Suchergebnis.

Signatur
global void setPageSize(Integer pageSize)
Parameter

pageSize: Die maximale Anzahl der Dokumente pro Seite.

  • Datentyp: Integer

  • Standardwert: 100

Verwendung

Der folgende Abschnitt zeigt dir einige Anwendungsfälle, die die richtige Verwendung der Klasse darstellen.

Ermitteln aller Dokumente an einem Datensatz (mit globalen Einstellungen)

dvelop_docs_dev.DocumentSearchOptions searchOptions = new dvelop_docs_dev.DocumentSearchOptions();
searchOptions.useRecordContext('001AP000003aVJhYAM');

Ermitteln aller Dokumente an Accounts (ohne globale Einstellungen)

dvelop_docs_dev.DocumentSearchOptions searchOptions = new dvelop_docs_dev.DocumentSearchOptions();
searchOptions.useObjectContext('Account');
searchOptions.ignoreSearchAttributes();
searchOptions.ignoreSearchCategories();

Ermitteln aller Dokumente an Accounts mit passender Eigenschaft "accountnumber", Dokumentart "Schriftverkehr Kunde" oder "Unbestimmte Dokumentart", ohne Akten

dvelop_docs_dev.DocumentSearchOptions searchOptions = new dvelop_docs_dev.DocumentSearchOptions();
searchOptions.useObjectContext('Account');
searchOptions.addSearchAttribute('accountnumber', '001AP000003aVJhYAM');
searchOptions.addSearchCategory('Schriftverkehr_Kunde');
searchOptions.addSearchCategory('Unbestimmte_Dokumentart');
searchOptions.hideFolders();

Komplexer Anwendungsfall

dvelop_docs_dev.DocumentSearchOptions searchOptions = new dvelop_docs_dev.DocumentSearchOptions();
searchOptions.useRecordContext('001AP000003aVJhYAM');

searchOptions.addSearchCategories(new List<String>{ 'Schriftverkehr_Kunde','Eingangsrechnung', 'Unbestimmte_Dokumentart' });
searchOptions.addSearchAttributes(
    new Map<String, String>{
		'accountnumber', '001AP000003aVJhYAM',
		'objecttitle' => 'Testaccount',
		'published' => 'Ja'
	}
);

searchOptions.sortByAttribute('createddate');
searchOptions.sortAscending();

searchOptions.setSearchText('Produkt');
searchOptions.setMaxAgeInDays(1);
searchOptions.setPageIndex(1);
searchOptions.setPageSize(500);