Autor Thema: Antwortdokument per Skript erstellen  (Gelesen 1856 mal)

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Antwortdokument per Skript erstellen
« am: 20.05.09 - 11:56:08 »
Hallo zusammen,

habe folgendes Problem.

Durch einen Agenten sollen  bestimmte Dokumente als  Mail verschickt werden.
Dazu soll der Inhalt des Dokuments in ein neues kopiert werden, das dann verschickt wird und als Antwortdokument zum ursprüglichen angezeigt werden. zusätzlich sollen dann im Elterndokument noch Einträge zum geänderten Status Protokoll gemacht werden.

Das habe ich bisher zusammenbekomen:

Der Fehler object variable not set , erscheint an der rot markierten stelle, wo die "Verlinkung" zum elterndokument passieren soll.

Hat jemand ne Idee ?


Sub Initialize
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim sendto   As Variant
   Dim subject As Variant
   Dim mail      As NotesDocument
   Dim tmpdoc   As NotesDocument
   Dim rtitem   As NotesRichtextItem
   Dim collection As NotesDocumentCollection
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   
   Set doc = collection.GetFirstDocument()   
   While Not(doc Is Nothing)
      Set tmpdoc   = doc.CopyToDatabase( session.CurrentDatabase )
      tmpdoc.form="xxxxx"
      Call tmpdoc.ComputeWithForm(True, False)
      Call tmpdoc.Save( True, True )
      Set doc = collection.GetNextDocument(doc)
   Wend
      
   Set mail   = New NotesDocument( session.CurrentDatabase )
   Set rtitem   = New NotesRichtextItem( mail, "Body" )
   
   With rtitem
      Call tmpdoc.RenderToRTItem( rtitem )
   End With
   
   With mail
      Call .ReplaceItemValue( "Form", "Memo" )
      Call .ReplaceItemValue( "SendTo", sendto )
      Call .ReplaceItemValue( "Subject", subject )
      Call .Send( False )
   End With
   
   Dim parent_doc As notesdocument
   Dim s_protokoll As Variant
   Dim user As New NotesName(session.UserName)
   Dim dateTime As New NotesDateTime( "" )
   Dim text As String
   Set parent_doc = db.GetDocumentByUNID( doc.ParentDocumentUNID )
   s_protokoll = parent_doc.getitemvalue("sendeprotokoll")
   dateTime.LSLocalTime = Now
   text = "Schadenmeldung gesendet von " & user.abbreviated & " an " & sendto(0) & " am " & dateTime.LSLocalTime
   If s_protokoll(0) = "" Then
      Call parent_doc.replaceitemvalue("sendeprotokoll", text)
   Else
      Call parent_doc.replaceitemvalue("sendeprotokoll", s_protokoll(0) & Chr$(10) & text)
   End If
   Call parent_doc.ReplaceItemValue("status",3)
   Call parent_doc.save(True, False)
   Msgbox "Mail wurde gesendet."
End Sub
 


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Antwortdokument per Skript erstellen
« Antwort #1 am: 20.05.09 - 11:59:48 »
Nach dem Verlassen der While-Schleife ist doc logischerweise Nothing - das ist Deine ausdrückliche Anweisung. Also nicht wundern, wenn Notes das dann auch so macht  ;)

Bernhard

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Antwortdokument per Skript erstellen
« Antwort #2 am: 20.05.09 - 12:51:03 »
Hallo Bernhard,

vielen Dank für die Antwort, beim Einschalten des Debuggers hätte ich das auch sehen sollen.

Die Meldung ist jetzt weg, stattdessen kommt allerdings an dieser stelle "invalid universal id."

Das doc hat auch keine parentdocumentunid, von daher ist die Meldung auch nachvollziehbar.

Wie krieg ich denn da die verbindung her, dass das neue Dokument Antwortdokument zum alten wird.

Grüße

Wilhelm

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Antwortdokument per Skript erstellen
« Antwort #3 am: 20.05.09 - 12:54:51 »
NotesDocument.MakeResponse (document) - siehe DesignerHelp.

Bernhard

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Antwortdokument per Skript erstellen
« Antwort #4 am: 20.05.09 - 13:10:18 »
Hallo Bernhard,

vielen Dank , jetzt bekomme ich es hin.

Grüße
Wilhelm

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz