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);