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?
Tabellenspalten für Dateianlagen
Wenn die entsprechenden Datenfelder in der Archivdatenbank enthalten sind, werden die Dateianlagen von E-Mails in der Tabelle dargestellt:
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 Neu | Felder für E-Mail-Attribute.
und klicken Sie auf den SchalterBeachten Sie bitte auch in die Einstellung Zeilenanzahl der Dokumententabelle (Menü , 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ü , Seite Sicherheit.
Skript erstellen
Wählen Sie bitte
und dann im Editor .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:
Eigenen Kommentar schreiben oder eine Rückfrage stellen