DMS Datenraum

Hotline Blog: Office Manager DMS

Dokumentenmanagement und digitale Archivierung

Sep
09
2016

Bei E-Mails nur interessante Anlagen zeigen

Kategorie: Archiv-Strukturen
Support-Recherche: Anlagen, Makro-Editor, Dokumententabelle


In der Dokumententabelle wird bei E-Mails eine Liste der enthaltenen Dateianlagen gezeigt. Mich interessieren hier aber nur wichtige Dateien und keine Logos oder sonstigen Bilder, die nur dem Maildesign dienen. Kann ich auswählen, was dort gezeigt wird?
Dieser Artikel richtet sich an Administratoren mit grundlegenden Programmierkenntnissen.

Tabellenspalten für Dateianlagen

Wenn die entsprechenden Datenfelder in der Archivdatenbank enthalten sind, werden die Dateianlagen von E-Mails in der Tabelle dargestellt:

Tabellenspalten für E-Mail-Anlagen

Das Datenfeld „MAILATTACHICO“ stellt eine Büroklammer dar, wenn Anlagen enthalten sind. „MAILATTACHLST“ enthält die Namen aller Anlagen. Um diese Felder hinzuzufügen, wählen Sie bitte den Menübefehl Datei | Datenbank | Anpassen | Felder definieren und klicken Sie auf den Schalter Neu | Felder für E-Mail-Attribute.

Beachten Sie bitte auch in die Einstellung Zeilenanzahl der Dokumententabelle (Menü Datei | Optionen | Einstellungen, Seite Ansicht | Tabellen.

Das Programm bewertet die Dateianlagen nicht. Wenn eine E-Mail eine Anlage enthält, wird diese in den entsprechenden Spalten der Dokumententabelle dargestellt. Egal, ob es eine anliegende Rechnung oder nur das Firmenlogo des Absenders ist. Es gibt auch keine Programmeinstellung hierfür. Die einzige Möglichkeit, hier individuell einzugreifen, ist ein Skript:

Mittels Skript anpassen

Mit Office Manager DMS können wir Skripte programmieren, die auf bestimmte Programm-Ereignisse reagieren. Dies ermöglicht uns, vor dem Speichern der Anlagenliste in einem Dokumentdatensatz einzugreifen und unerwünschte Anlage aus der Liste zu entfernen.

Sicherheitseinstellung

Der Administrator muss Ereignisgesteuertes Scripting zulassen: Menü Datei | Optionen | Einstellungen, Seite Sicherheit.

Skript erstellen

Wählen Sie bitte Start | Verwenden | Makro | Makro-Editor und dann im Editor Start | Makro | Event Scripting | EvenScripting.pas.

Wir greifen im Ereignis DatasetDocBeforePost ein. Wenn dieses Ereignis noch nicht im Skript verwendet wird, dann fügen Sie folgenden Text bitte unterhalb von implementation ein:

procedure DatasetDocBeforePost(ADataset: TDataset); {Der aktuelle Dokument-Datensatz wird jetzt gespeichert} var LField: TField; LList : TStrings; i,LCnt: integer; begin LField := OfficeManager.Archive.ActiveDatasetDocument.FindField('MAILATTACHLST'); // nur ausführen, wenn Datenfeld "MAILATTACHLST" vorhanden ist... if LField <> nil then begin // Datenfeld beinhaltet mehrzeiligen Text, in Stringliste kopieren... LList := TStringList.Create; try LList.Text := LField.AsString; LCnt := LList.Count; // Liste zeilenweise durchlaufen und alle .png entfernen... // Wichtig: von hinten durchlaufen, weil Zeilen gelösht werden for i:=LList.Count-1 downto 0 do if SameText(ExtractFileExt(LList[i]), '.png') then LList.Delete(i); // wenn etwas gelöscht, Listeninhalt in Datenfeld schreiben... if LCnt <> LList.Count then begin LField.AsString := LList.Text; LField.AsString := Trim(LField.AsString); // keine Büroklammer zeigen, falls die Liste jetzt leer ist... if LList.Count = 0 then begin LField := OfficeManager.Archive.ActiveDatasetDocument.FindField('MAILATTACHICO'); if LField <> nil then LField.AsString := 'F'; end; end; finally LList.Free; end; // end; end;

Screenshot des Editors mit eingefügtem Code:

Screenshot EventScripting.pas




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>