Domino 9 und frühere Versionen > Entwicklung

Agent laesst sich nicht automatisch starten

(1/3) > >>

Kermit:
Hallo,

ich möchte diesen Agenten nach Eingang neuer Mail oder periodisch starten. Manuell geht das. Aber automatisch geht nix:

Function SendToSms
   
   Dim ws            As New NotesUIWorkspace
   Dim CurrentDb      As NotesDatabase
   
   Dim StrBody         As String
   Dim StrSubject         As String
   
   Dim DocsToDuplicate As NotesDocumentCollection
   Dim Heute            As NotesDateTime
   Dim MyMime          As NotesMIMEEntity   
   Dim MyBodyItem      As NotesItem
   Dim MySubjectItem   As NotesItem
   
   Dim CurrentDoc      As NotesDocument
   Dim iCount            As Integer
   Dim MyItem            As NotesItem   
   
   Set CurrentDb         = ws.CurrentDatabase.Database      
   Set DocsToSend      = CurrentDb.UnprocessedDocuments
   
   Set Heute = New NotesDateTime("")
   Call Heute.SetNow
   
   Set CurrentDoc = DocsToSend.GetFirstDocument
   While Not    CurrentDoc Is Nothing
      
      On Error Goto SendError
      
      Set MyBodyItem = CurrentDoc.GetFirstItem("Body")
      Set MySubjectItem = CurrentDoc.GetFirstItem("Subject")
      
      If Not MyBodyItem Is Nothing And Not MySubjectItem Is Nothing Then
         
         If MyBodyItem.Type = MIME_PART Then
            Set MyMime = MyBodyItem.GetMimeEntity
            If Not MyMime Is Nothing Then
               StrBody = MyMime.ContentAsText               
            End If   ' Not MyMime Is Nothing
            
         Else
            StrBody = MyBodyItem.Text
         End If         ' MyBodyItem.Type = MIME_PART
         
         StrSubject = MySubjectItem.Text
         If Not Isnumeric(StrSubject) Then
            Messagebox "ungültige Betreffzeile: " + StrSubject
         Else
            CurrentDoc.Sendto = StrSubject + "@xxxxxxx.xxxxx.xxx"
            CurrentDoc.Subject = StrBody
            
            
            Call CurrentDoc.Send(False)
            
            Call CurrentDoc.ReplaceItemValue("SMSistSCHONgesendet","1")
            Call CurrentDoc.ReplaceItemValue("PostedDate",Heute)
            Call CurrentDoc.RemoveItem("DeliveredDate")
            Call CurrentDoc.RemoveItem("ExcludeFromView")
            Call CurrentDoc.Save(True, False)
         End If
         
      End If            ' Not MyBodyItem Is Nothing And Not MySubjectItem Is Nothing Then
      
      Set CurrentDoc = DocsToSend.GetNextDocument(CurrentDoc)
      Goto weiter
      
SendError:
      Messagebox Err(), "Error in Zeile : " + Str(Erl())
      
weiter:
      
   Wend
   
End Function

 :'(

koehlerbv:
Du instantiierst mit dem NotesUIWorkspace ein FrontEnd-Objekt, das ist in scheduled agents nicht erlaubt. Schmeiss den 'raus und nimm NotesSession her.

Bernhard

Kermit:
Hallo, vielen Dank.

Wenn ich NotesUIWorkspace
gegen NotesSession

tausche, erhalte ich eine Fehlermeldung:
"Daten wurden aufgrund von Fehlern im Script nicht gespeichert"

...bin leider kein Programmierer, muss das Ding nur zum fliegen kriegen.

(Programmierer ist im Urlaub).

rar:
Hi,
statt
Dim ws As New NotesUIWorkspace
schreibst du
Dim session as New Notessession

und statt
Set CurrentDb = ws.CurrentDatabase.Database
Set CurrentDb = session.CurrentDatabase
     
HTH

Axel:
Hi,

die Script-Anweisung Messagebox funktioniert in getriggerten Agenten auch nicht. bin mir aber nicht ganz sicher, ob diese Anweisung die Ausführung verhindert. Nimm aber trotzdem anstatt Messagebox die Anweisung Print, dann siehst du die Meldungen im Notes-Protokoll.


Axel
 

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln