Skripte und anhängte Dateien
Wenn Sie den Dateianhang eines Auftrags auswerten möchten (z. B. im Dateisystem speichern, per E-Mail senden, auf ein Remote-System hochladen usw.), befolgen Sie bitte diese Anweisungen.
Wenn Sie versuchen, auf die Dateianhänge der Tickets wie folgt zuzugreifen
var atts = task.attachments.toArray();
erhalten Sie eine Liste von „Proxy“-Objekten, die die echten Dateien ersetzen, solange deren Inhalt nicht benötigt wird.
Sie können diese Liste überprüfen und die Dateinamen der einzelnen Anhänge auslesen. Wenn Sie jedoch auf den Dateninhalt der Datei zugreifen möchten, benötigen Sie den folgenden Code, um den Anhang aus der Datenbank zu laden:
Bitte beachten Sie die Zeile
helper.getComponentStore().getSession().load(com.proxemo.todo.bom.ToDoAttachment.class, att.attachmentId);
Dadurch wird der echte Anhang vom Typ com.proxemo.todo.bom.ToDoAttachment geladen.
Das folgende Skript sucht in der Liste der Anhänge des aktuellen Tickets nach einem Anhang mit dem Dateinamen desired.xlsx und lädt diesen Anhang:
if(atts!=null){
println("Listing attachments!");
println("Number of attachments:" + atts.length);
for(var ai=0; ai<atts.length; ai++){
var att = atts[ai];
println("Attachment name: " + att.getAttachmentName());
if(att.getAttachmentName().equals("desired.xlsx")){
var attX = helper.getComponentStore().getSession().load(com.proxemo.todo.bom.ToDoAttachment.class, att.attachmentId);
println("Attachments' real size: " +attX.getAttachmentContent().length);
// do something with attX.getAttachmentContent()
// ...
}
}
} else {
println("No attachments.");
}