Anlagen

GetAttachmentKeys

„GetAttachmentKeys“ ermittelt für den angegebenen Attributschlüssel die IDs der an das Objekt angehängten Anlagen.
Syntax GetAttachmentKeys(key, suidx)
Parameter
key
Schlüssel des Anlagenattributs als Variant (String)
Der Standardschlüssel ist HLOBJECTINFO.ATTACHMENT.
suidx
numerischer Wert. Wird nur bei Vorgängen verwendet und gibt den 1-basierten Index der Service-Einheit an, für die die IDs der Anlagen ermittelt werden sollen.
Sofern das Objekt nicht vom Typ „Vorgang“ ist, können Sie den Wert mit einer 0 belegen.
Rückgabewert Anlagen-IDs als Variant (Collection, numerisch). Das Anlagenobjekt für eine bestimmte ID kann mit der Methode GetAttachment ermittelt werden.
Beispiel AttachIDs=hlCase.GetAttachmentKeys("HLOBJECTINFO.ATTACHMENT",0) ermittelt die Inhalts-IDs der Anlagen eines Vorgangs.

GetAttachment

GetAttachment ermittelt das Anlagenobjekt (Anlage) für die angegebene ID.
Syntax GetAttachment(key, id, suidx)
Parameter
key
Schlüssel des Anlagenattributs als Variant (String)
Der Standardschlüssel ist HLOBJECTINFO.ATTACHMENT.
id
Anlagen-ID als numerischer Wert. Die Anlagen-IDs können mit der Methode GetAttachmentKeys ermittelt werden.
suidx
numerischer Wert. Wird nur bei Vorgängen verwendet und gibt den 1-basierten Index der Service-Einheit an, für die die Anlage ermittelt werden soll.
Sofern das Objekt nicht vom Typ Vorgang ist, können Sie den Wert mit einer 0 belegen.
Rückgabewert Anlagenobjekt als Variant(IHlAttachment)
Beispiel Set hlAttachment=hlCase.GetAttachment ("HLOBJECTINFO.ATTACHMENT", AttachID, 0) ermittelt das Anlagenobjekt eines Vorgangs mit ID <AttachID>. Es kann dann mit Methoden wie GetSize(), GetName() weiter bearbeitet werden.

CreateAttachment

CreateAttachment erzeugt eine neue Anlage.
Syntax CreateAttachment(key, suidx)
Parameter
key
Schlüssel des Anlagenattributs als Variant (String)
Der Standardschlüssel ist HLOBJECTINFO.ATTACHMENT.
suidx
numerischer Wert. Wird nur bei Vorgängen verwendet und gibt den 1-basierten Index der Service-Einheit an, für die die Anlage angelegt werden soll.
Sofern das Objekt nicht vom Typ Vorgang ist, können Sie den Wert mit einer 0 belegen.
Rückgabewert Anlagenobjekt als Variant (IHlAttachment)

AppendAttachment

AppendAttachment fügt dem Objekt eine neue Anlage hinzu.
Syntax AppendAttachment(key, suidx, attachment)
Parameter
key
Schlüssel des Anlagenattributs als Variant (String)
Der Standardschlüssel ist HLOBJECTINFO.ATTACHMENT.
suidx
numerischer Wert. Wird nur bei Vorgängen verwendet und gibt den 1-basierten Index der Service-Einheit an, für die die Anlage hinzugefügt werden soll.
Sofern das Objekt nicht vom Typ Vorgang ist, können Sie den Wert mit einer 0 belegen.
attachment
Anlagenobjekt als Variant (IHlAttachment)

RemoveAttachment

RemoveAttachment entfernt das angegebene Anlagenobjekt für die angegebene Service-Einheit aus dem Anlagenattribut.
Syntax RemoveAttachment(key, suidx, attachment)
Parameter
key
Schlüssel des Anlagenattributs als Variant (String)
Der Standardschlüssel ist HLOBJECTINFO.ATTACHMENT.
suidx
numerischer Wert. Wird nur bei Vorgängen verwendet und gibt den 1-basierten Index der Service-Einheit an, aus der die Anlage entfernt werden soll.
Sofern das Objekt nicht vom Typ Vorgang ist, können Sie den Wert mit einer 0 belegen.
attachment
Anlagenobjekt als Variant (IHlAttachment)
Beispiel Entfernen aller Anlagen dieser Service-Einheit:
Dim hlAttachKeys, hlAttachKey, hlAttach
hlAttachKeys=hlObj.GetAttachmentKeys("SUINFO.ATTACHMENT",model.CurrentSUIndex)
For Each hlAttachKey In hlAttachKeys
    Set hlAttach=hlObj.GetAttachment("SUINFO.ATTACHMENT",
    hlAttachKey,model.CurrentSUIndex)
    hlObj.RemoveAttachment "SUINFO.ATTACHMENT",model.CurrentSUIndex, hlAttach
Next

SaveToFile

Mit SaveToFile kann man in EBL- oder Connectivity-Skripten die helpLine-Anlagen im Dateisystem speichern.
Syntax strFilename = hlAttach.SaveToFile(0, "Wunschdateiname")
Parameter
hlAttach
ist das Anlagenobjekt
0
(erster Parameter)
fix, nicht änderbar, aber erforderlich
Wunschdateiname
Dateiname, der verwendet werden soll, falls noch nicht vorhanden
strFilename
der angezeigte Dateiname, unter dem die Anlage abgelegt wird.
Dies ist wichtig, da sich der Dateiname ändert, wenn die Datei bereits vorhanden ist.
Beispiel Drei Vorgänge mit je einer Anlage Neues Word-Dokument.doc (Wunschdateiname) werden exportiert. Man erhält anschließend die drei Dateien Neues Word-Dokument.doc, Neues Word-Dokument (1).doc und Neues Word-Dokument (2).doc (als angezeigte Dateinamen).
Tipp: Der Standard-Speicherort für Anlagen steht in der System-Datenbank in der Tabelle hlsysglobalsetting.
Beispielskript Für Connectivity: Wenn eine E-Mail-Anlage zu groß ist, wird sie statt in Processes im Dateisystem abgelegt und dies im Vorgang vermerkt.
Dim strURLOrig : strURLOrig = ""
Dim Size : Size = "Size: "
Dim attachmentsWarning : attachmentsWarning = ""
AttachCount = mail.CountAttachment
For nCount = 0 To AttachCount-1
Set mailAttach = mail.Attachment(nCount)
Size = Size & CStr(MailAttach.Size)
'cut all attachments EXCEEDING LIMIT and add a WARNING MESSAGE on Problem field
If MailAttach.Size > 25728640 Then ' In bytes z. B. 15728640
attachmentsWarning = "WARNING MESSAGE: Attachments EXCEEDING LIMIT are cuted. Please check up your Mail Server Or contact your caller…"
Else
Dim hlAttach
Set hlAttach = hlcase.CreateAttachment("HLOBJECTINFO.ATTACHMENT", 0) 'wenn CASE-Attachment
hlAttach.url = MailAttach.Name
If len(mailAttach.URL) > 0 Then
hlAttach.Name = MailAttach.Name
hlAttach.URL = mailAttach.URL
Else
'Namens-Anpassung des neuen Datei-Objekts (zusaetzlich Ref.Nr. + SUID),
hlAttach.Name = strAttNameAddOn & MailAttach.Name
'Dateiinhalt von Original-Mail-Anlage uebernehmen
hlAttach.Data = MailAttach.Data
'abspeichern im Dateisystem
strURLOrig = hlAttach.SaveToFile(0, "")
'INFO: Bei Serverumzug muss der Datenbankeintrag in der SysDB Tabelle
'hlsysglobalsetting (= lok. oder UNC-PfadPfad inkl. abschl. Backslash <\> )
'und der o. g. Pfad (strWebAddress) auf das HTTP- oder FTP-Verzeichnis angepasst werden.
'Aendern des Pfades fuer den Remote-Zugriff (FTP oder http moeglich)
'hierbei den neuen Pfad mit dem von der Funktion inkrementierten Objektnamen ergaenzen
hlAttach.URL = strWebAddress & Mid(strURLOrig, instrRev(strURLOrig,"\")+1)
End If
End If
Next