Beim Archivieren meiner Dokumente möchte ich diese einem Kunden zuordnen. Mit den Auswahllisten in Office Manager DMS ist dies zwar möglich, bei einer Liste mit hunderten von Kontakten aber sehr umständlich. Kann ich so eine Auswahlliste irgendwie filtern?
Einfache Auswahlliste
Im Menü
können Sie ein Datenfeld mit Auswahlliste anlegen:- Folgen Sie der Schritt-für-Schritt-Anleitung, um ein Listenfeld für Kunden anzulegen.
- Markieren Sie ein Test-Dokument und wählen Sie .
- Im Eingabefeld Kunde können Sie aus der Liste wählen. Es gibt nur eine einfache Filter-Möglichkeit: Geben die ersten Zeichen des gewünschten Namens ein und blättern Sie mit den Cursor-Tasten zum vorherigen oder nächsten Namen.
Auswahldialog mit Filter
Bei umfangreichen Listen, beispielweise mit hunderten von Kontakten, ist das oben beschriebene Windows-Kombinationsfeld nicht mehr benutzerfreundlich. In solchen Fällen ist ein Auswahldialog die bessere Wahl. Wir können so etwas skripten:
- Öffnen Sie erneut den Layoutdesigner mit .
- Platzieren Sie einen Mausschalter rechts neben dem Kunden-Eingabefeld.
- Als Text geben Sie beispielsweise drei Punkte ein, das ist die Schalterbeschriftung.
- Kopieren Sie folgenden Text in das Eingabefeld Makro (Beschreibung s. u.):
{RaiseError:Nicht erlaubt,{Self:DocTable}=docarch}{OmApiCsvParams:1}{DBSetField:document,"kunde={ExecStringDlg:kunde,0,0,0,Kunde wählen}"}{OmApiCsvParams:0}
- Im Layoutdesigner mit OK bestätigen.
- Markieren Sie ein Test-Dokument und wählen Sie .
Wir haben jetzt einen Mausschalter neben dem Eingabefeld:
Wenn Sie diesen anklicken, wird das Dialogfenster für die Listenauswahl geöffnet. Im oberen Eingabefeld können Sie einen Filterbegriff, einen beliebigen Teil des gesuchten Namens, eingeben:
Datenquelle
Die Kundenliste muss nicht unbedingt aus Office Manager DMS kommen, Sie können auch auf externe Datenquellen zugreifen. Beispielsweise eine Textdatei, aber auch die Datenbank einer Kontaktmanagement-Software (CRM).
Beschreibung des Makros
{RaiseError:Nicht erlaubt,{Self:DocTable}=docarch}{OmApiCsvParams:1}{DBSetField:document,"kunde={ExecStringDlg:kunde,0,0,0,Kunde wählen}"}{OmApiCsvParams:0}
Sie können das Makro an Ihre Anforderungen anpassen.
{RaiseError:Nicht erlaubt,{Self:DocTable}=docarch}
löst einen Fehler aus, wenn das Dokument im Bereich der langzeitarchivierten Dokumente abgelegt ist. Statt „Nicht erlaubt“ können Sie auch eine längere Erklärung hinterlegen, wie „Diese Funktion ist in der Ansicht der archivierten Dokumente nicht zulässig“. Sie können auch ganz auf diese Makrofunktion verzichten, eine Datenänderung in diesem Archivbereich wird trotzdem verhindert.
{OmApiCsvParams:1}
ist erforderlich, wenn in den Listeneinträgen (hier Kundennamen) ein Komma vorkommt.
{DBSetField:document,"kunde=
schreibt in das Datenfeld „kunde“. Geben Sie das gewünschte Feld an, ersetzen Sie dazu alle Vorkommen von „kunde“ im Makro.
{ExecStringDlg:kunde,0,0,0,Kunde wählen}"}
öffnet das Dialogfenster mit der Kontaktauswahl. Im Beispiel ist mit „kunde“ die dem Feld zugeordnete Auswahlliste als Quelle angegeben. Alternativ können Sie den Dateinamen einer Textdatei angeben oder mit Makrobefehlen auf andere Datenbanken zugreifen.
{OmApiCsvParams:0}
deaktiviert den CSV-Modus wieder.
Eigenen Kommentar schreiben oder eine Rückfrage stellen