DMS Datenraum

Hotline Blog: Office Manager DMS

Dokumentenmanagement und digitale Archivierung

Jan
21
2019

Kontaktdaten aus umfangreicher Liste wählen

Kategorie: Bedienung
Support-Recherche: Auswahllisten, Makro-Editor


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?
Die Beschreibung gilt auch für andere Auswahllisten, Kunden oder Kontakte sind hier nur ein Beispiel.

Einfache Auswahlliste

Kombinationsfeld

Im Menü Datei | Datenbank | Anpassen | Felder definieren können Sie ein Datenfeld mit Auswahlliste anlegen:

  1. Folgen Sie der Schritt-für-Schritt-Anleitung, um ein Listenfeld für Kunden anzulegen.
  2. Markieren Sie ein Test-Dokument und wählen Sie Start | Eigenschaften.
  3. 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:

  1. Öffnen Sie erneut den Layoutdesigner mit Ansicht | Anpassen | Layout entwerfen | Eigenschaften – Weitere.
  2. Platzieren Sie einen Mausschalter rechts neben dem Kunden-Eingabefeld.
  3. Als Text geben Sie beispielsweise drei Punkte ein, das ist die Schalterbeschriftung.
  4. 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}
  5. Im Layoutdesigner mit OK bestätigen.
  6. Markieren Sie ein Test-Dokument und wählen Sie Start | Eigenschaften.

Wir haben jetzt einen Mausschalter neben dem Eingabefeld:

Kombinationsfeld mit Schalter

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:

Auswahldialog mit Filter

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.




Noch keine Kommentare

Eigenen Kommentar schreiben oder eine Rückfrage stellen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Sie können folgende HTML-Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>