Autor Thema: Attachment doppelt  (Gelesen 2256 mal)

Offline bml

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Männlich
  • Warum immer ich ??
Attachment doppelt
« am: 25.08.03 - 13:39:38 »
Hi Zusammen

Ich hab´da mal wieder so ein komisches Problem, zu dem ich keine Lösung weiß

Ich möchte ein bestimmte Datei als Attachment versenden....- Klingt doch erstmal recht simpel.
So ... aber jetzt wird es spannend. Die Email kommt auch an, das Attachment ist auch da, aber daneben ist noch ein Attachment. Ich habe also 2 Attachments ich weiß nur nicht, wo das Zweite herkommt.
Das erste Attachment besitzt den richtigen Dateinamen und das zweite Attachment hat so komische Namen (Bsp.ATTRBWN2)

Kann mir vielleicht jemand helfen.
ich sage auch schon mal, wie immer , brav danke - DANKE



1 Dom-Serv AS/400 (6.5.3)
6 Dom-Serv W2K (6.5.3)   
2 Dom-Serv RedHat
1000 Clients (5.0.11 - 6.5.3)
1 Entwickler (6.5.3) - ICH

Glombi

  • Gast
Re:Attachment doppelt
« Antwort #1 am: 26.08.03 - 08:27:15 »
Hi,
wie wird den die Mail erstellt? Per Script? Dann poste mal den Code.

Deine Beschreibung deutet darauf hin, dass im Dokument die Datei 2x vorhanden ist. Notes vergibt dann für das 2. Attachment einen internen Namen.

Andreas

Offline bml

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Männlich
  • Warum immer ich ??
Re:Attachment doppelt
« Antwort #2 am: 26.08.03 - 10:45:35 »
Hi Andreas

hier das gewünschte Posting

<Script Bibliothek>
Function CreateEmail(uidoc As NotesUiDocument) As Integer
Dim ws As  NotesUIWorkspace
Dim docMail As NotesDocument
Dim rtitm As NotesRichTextItem
Dim itmSubject As NotesItem
Dim itmrecipients As NotesItem
Dim itmSaveFile As NotesItem
Dim object As NotesEmbeddedObject   

   '--> Funktion wird auf Failure gesetzt
   CreateEmail = False
   
   '--> Instanzierung der benutzten NotesObjekte
   Set docMail = uidoc.Document
   Set rtitm = New NotesRichTextItem(docMail,"Attachment")
   Set itmSubject = docMail.GetFirstItem("Betreff")
   Set itmRecipients = docMail.GetFirstItem("SendTo")
   Set rtitm = docMail.GetFirstItem("Attachment")
   Set itmSaveFile = docMail.GetFirstItem("SaveFile")
   Set object = docMail.GetAttachment( itmSaveFile.Values(0))
   Set object= rtitm.EmbedObject(EMBED_OBJECT, "",itmSaveFile.Values(0))
    '<--
   
   '--> Überprüfung, ob das verwendete Feld vom Typ ein RichTextFeld ist.
   '      Wenn das Feld ein RichTextFeld ist, wird versucht die ausgewählte Datei anzuhängen.
   If ( rtitm.Type = RICHTEXT ) Then
      Set object = rtitm.EmbedObject( EMBED_ATTACHMENT, "",itmSaveFile.Values(0))
      If ( object Is Nothing ) Then
         Messagebox( "Keine Datei ausgewählt." )
         Exit Function
      End If
   End If   
   '<--   
   
   '--> Email wird zusammengesetzt   
   docMail.Form = "Memo" '--> Dokumentenart
   docMail.Subject = itmSubject.Values(0) '--> Titel oder Betreff der Email
   docMail.SentTo = itmRecipients.Values(0) '--> Empfänger
   docMail.Body = object.Object '--> Attachment
   '<--
   
   '--> Mail wird versendet
   Call docMail.Send(False)
   '--> Ausgabe: Nach versenden des Dokuments
   Print("Email wurde an Empfänger versendet")
   '<--
   
   '--> Dokument wird gesichert
   Call docMail.Save(True,False)
   '<--
   
   '--> Funktion wird auf Successfull gesetzt
   CreateEmail = True
   
   
End Function

<Aufruf der Function>
Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   Call CreateEmail(uidoc)   <---- Aufruf
End Sub

SO, Viel Spass beim lesen
1 Dom-Serv AS/400 (6.5.3)
6 Dom-Serv W2K (6.5.3)   
2 Dom-Serv RedHat
1000 Clients (5.0.11 - 6.5.3)
1 Entwickler (6.5.3) - ICH

Glombi

  • Gast
Re:Attachment doppelt
« Antwort #3 am: 26.08.03 - 10:52:53 »
Hi,
wenn ich das richtig sehe, ist das Attachment doppelt: Einmal im Feld Attachment und einmal im Feld Body.

Andreas

Offline bml

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Männlich
  • Warum immer ich ??
Re:Attachment doppelt
« Antwort #4 am: 26.08.03 - 11:04:56 »
@glombi

isch hab heute wohl einen Bretterzaun vorm Kopf

aber ich verstehe, nicht ganz was du meinst
Im Feld Body muss es stehen, weil das der Body der Mail ist... oder was meinst du ??

1 Dom-Serv AS/400 (6.5.3)
6 Dom-Serv W2K (6.5.3)   
2 Dom-Serv RedHat
1000 Clients (5.0.11 - 6.5.3)
1 Entwickler (6.5.3) - ICH

Glombi

  • Gast
Re:Attachment doppelt
« Antwort #5 am: 26.08.03 - 11:23:07 »
Ja, aber es steht doch schon im Feld "Attachment" als Anhang

Set object = rtitm.EmbedObject( EMBED_ATTACHMENT, "",itmSaveFile.Values(0))

und rtitm ist das Feld Attachment
Set rtitm = docMail.GetFirstItem("Attachment")

Ist es so gedacht, dass Du das aktuelle Dokument sendest oder willst Du ein neues temporäres Dokument erstellen und dieses senden?

Andreas

Offline bml

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Männlich
  • Warum immer ich ??
Re:Attachment doppelt
« Antwort #6 am: 26.08.03 - 11:29:09 »
eigentlich will schon nur das "original Dokument" senden - kein Temp Dok

meinst du diese Zeile ist zu viel ??

   Set object= rtitm.EmbedObject(EMBED_OBJECT, "",itmSaveFile.Values(0))
1 Dom-Serv AS/400 (6.5.3)
6 Dom-Serv W2K (6.5.3)   
2 Dom-Serv RedHat
1000 Clients (5.0.11 - 6.5.3)
1 Entwickler (6.5.3) - ICH

Glombi

  • Gast
Re:Attachment doppelt
« Antwort #7 am: 26.08.03 - 12:06:09 »
Es sollte so aussehen:

Function CreateEmail(uidoc As NotesUiDocument) As Integer
Dim ws As  NotesUIWorkspace
Dim docMail As NotesDocument
Dim rtitm As NotesRichTextItem
Dim itmSubject As NotesItem
Dim itmrecipients As NotesItem
Dim itmSaveFile As NotesItem
Dim object As NotesEmbeddedObject  

   '--> Funktion wird auf Failure gesetzt
   CreateEmail = False
   
   '--> Instanzierung der benutzten NotesObjekte
   Set docMail = uidoc.Document
   Set rtitm = New NotesRichTextItem(docMail,"Body")
   Set itmSubject = docMail.GetFirstItem("Betreff")
   Set itmRecipients = docMail.GetFirstItem("SendTo")
   Set rtitm = docMail.GetFirstItem("Body")
   Set itmSaveFile = docMail.GetFirstItem("SaveFile")
   Set object = docMail.GetAttachment( itmSaveFile.Values(0))
   Set object= rtitm.EmbedObject(EMBED_OBJECT, "",itmSaveFile.Values(0))
    '<--
   
   '--> Überprüfung, ob das verwendete Feld vom Typ ein RichTextFeld ist.
   '      Wenn das Feld ein RichTextFeld ist, wird versucht die ausgewählte Datei anzuhängen.
   If ( rtitm.Type = RICHTEXT ) Then
      Set object = rtitm.EmbedObject( EMBED_ATTACHMENT, "",itmSaveFile.Values(0))
      If ( object Is Nothing ) Then
         Messagebox( "Keine Datei ausgewählt." )
         Exit Function
      End If
   End If  
   '<--  
   
   '--> Email wird zusammengesetzt  
   docMail.Form = "Memo" '--> Dokumentenart
   docMail.Subject = itmSubject.Values(0) '--> Titel oder Betreff der Email
   docMail.SentTo = itmRecipients.Values(0) '--> Empfänger
   '<--
   
   '--> Mail wird versendet
   Call docMail.Send(False)
   '--> Ausgabe: Nach versenden des Dokuments
   Print("Email wurde an Empfänger versendet")
   '<--
   
   '--> Dokument wird gesichert
   Call docMail.Save(True,False)
   '<--
   
   '--> Funktion wird auf Successfull gesetzt
   CreateEmail = True
   
   
End Function



 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz