Autor Thema: Agent funktioniert nicht  (Gelesen 2296 mal)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Agent funktioniert nicht
« am: 14.04.03 - 07:36:54 »
Ich hab ein kleines Problem mit diesem Agent!!!
Er funktioniert nicht richtig!!! Erst wenn ich im Designer in den Agent reingehe und dann speichern sag dann versendet er mir mails er soll aber jede nacht laufen!
Kann mir wer helfen und mir sagen was ich falsch gemacht habe!

Danke robertpp

   Dim s As New NotesSession
   Dim db As NotesDatabase
   Set db = s.CurrentDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim memo As NotesDocument
   Dim rtitem As NotesRichTextItem   
   Dim umstellgrund As String   
   Set view=db.GetView("To Do")
   Set doc=view.GetFirstDocument
   
   Do Until doc Is Nothing
      If Isempty (doc.Umstellungsgrund) Then
         umstellgrund =" "
      Else
         umstellgrund = doc.Umstellungsgrund(0)
      End If
      
      If doc.Status(0) = "1.) new" Or doc.Status(0) = "2.) in work" Then
         If doc.EndTime(0)  +1 = Date Then
            Set memo =db.CreateDocument
            With memo
               .Form="Memo"
               .Subject="To Do entry ''"+ doc.beschreibung(0) + "'' to finish"
               .SendTo=doc.who
               Set rtitem = memo.CreateRichTextItem( "Body" )                  
               Call rtitem.AppendText("Your To-Do-entry ''" +  doc.beschreibung(0) + "'' should have been finished until today. Please finish the job or make an update of the enddate ")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendText("Subject: "+ umstellgrund+ "")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendDocLink(doc,doc.beschreibung(0))
               Call memo.Send(False)
            End With
            Delete memo
            Set memo =db.CreateDocument
            With memo
               .Form="Memo"
               .Subject="To Do entry ''"+ doc.beschreibung(0) + "'' to finish"
               .SendTo=doc.whom
               Set rtitem = memo.CreateRichTextItem( "Body" )                  
               Call rtitem.AppendText("The To-Do-entry ''" + doc.beschreibung(0) + "'' from ''" + doc.who(0) + "'' should have been finished until today")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendText("Subject: "+ umstellgrund+ "")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendDocLink(doc,doc.beschreibung(0))
               Call memo.Send(False)
            End With
            Delete memo
            
         Elseif doc.EndTime(0) = Date Then
            Set memo =db.CreateDocument
            With memo
               .Form="Memo"
               .Subject="To Do entry ''"+ doc.beschreibung(0) + "'' to finish"
               .SendTo=doc.who
               Set rtitem = memo.CreateRichTextItem( "Body" )                                 
               Call rtitem.AppendText("Don't forget to finish your todo-entrie ''" + doc.beschreibung(0) + "'' today ")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendText("Subject: "+ umstellgrund+ "")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendDocLink(doc,doc.beschreibung(0))
               Call memo.Send(False)
            End With
            Delete memo
         End If
      End If
      Set doc=view.getnextdocument(doc)
   Loop   

End Sub
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

klaussal

  • Gast
Re:Agent funktioniert nicht
« Antwort #1 am: 14.04.03 - 08:02:14 »
... was sagt das protokoll des agenten ?
server eingetragen, wo der agent laufen soll ?

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Agent funktioniert nicht
« Antwort #2 am: 14.04.03 - 08:15:41 »
das Protokoll sagt :
Agent 'sendtofinish' wurde am 14.04.2003 04:00:11 gestartet
Bearbeitet alle Dokumente in der Datenbank: insgesamt 1495
1495 Dokumente gefunden, die die Suchkriterien erfüllen
LotusScript Code ausgeführt
Agent 'sendtofinish' wurde am 14.04.2003 04:00:15 beendet

Kann mir nicht vorstellen das der agent in 4 sec fertig ist!! Da passt irgenwas nicht!! Wenn ich ihn aber händisch aufrufe dann geht er!!!

robertpp
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Agent funktioniert nicht
« Antwort #3 am: 14.04.03 - 08:35:34 »
hm...hast Du eine Default View definiert im Designer? Wenn man mit DocLinks arbeitet, benötigt Notes unbedingt so eine View.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Agent funktioniert nicht
« Antwort #4 am: 14.04.03 - 08:35:49 »
Ich behelfe mir in solchen Situationen immer damit, daß ich Protokolleinträge erzeugr, die mir dann AUfschluß darüber geben, ob der Agent an einer bestimmten Stelle überhaupt irgend etwas macht.

http://www.atnotes.de/index.php?board=9;action=display;threadid=3043;start=0

Dann kann ich zumindest testen, ob der Agent in ein IF reingeht, oder nicht.

Der Fehler läßt sich damit recht schnell finden. Ist auch ganz nützlich, wenn im produltiven mit "richtigen Daten" gearbeitet wird und dann trotz fehlerfreiem Testlauf des Agenten Probleme auftreten.
Kann man natürlich auch mit der NoteLOG class lösen  :D

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Agent funktioniert nicht
« Antwort #5 am: 14.04.03 - 10:07:02 »
die "to do" ansicht ist die Default view in der ich arbeite!!
Aber sonst hab ihr ab script keinen fehler gefunde?
ich glaub nämlich das mit dem Code:

Do Until doc Is Nothing
      If Isempty (doc.Umstellungsgrund) Then
         umstellgrund =" "
      Else
         umstellgrund = doc.Umstellungsgrund(0)
      End If

irgendwas nicht passt!! wenn im Umstellungsgrund  nichts drinnen steht dann hat er mir den code abgebrochen! und wenn ich hier:
umstellgrund = doc.Umstellungsgrund(0)
nicht direkt auf array (0) zugreife dann geht es auch nicht!!!

robertpp
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Agent funktioniert nicht
« Antwort #6 am: 14.04.03 - 10:33:43 »
... man kann das auch über das Feld abprüfen

If doc.HasItem("Feldname") Then...

... wenn ein Feld existiert, dann ist es immer als Array ansprechbar, und mit

If Fulltrim(Cstr(doc.Feldname(0))) = "" Then...

... kann man überprüfen, ob auch wirklich nichts drin war...

ata
Grüßle Toni :)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Agent funktioniert nicht
« Antwort #7 am: 14.04.03 - 10:48:11 »
Ich glaub ich weiß eines der probleme warum das nicht geht!! ich hab aus dem Richtextfeld "Umstellungsgrund" ein Textfeld gemacht und da liegt jetzt das problem!! Ich hab auch schon probiert mit "computedwithform" das feld zu aktualisieren aber bei machen docs geht das nicht!! Zweite variante was ich probiert habe ist das doc im forntend zu öffnen und dann wieder speichern das geht aber auch nicht bei allen docs! jetzt weiß ich nicht mehr weiter!!
gibt es sonst noch eine möglichkeit das feld in ein textfeld umzuwandeln?
robertpp
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Agent funktioniert nicht
« Antwort #8 am: 14.04.03 - 10:56:57 »
... das Feld initialisieren

Dim ws As New NotesUIWorkspcae
Dim docThis As NoteDocument
Dim rtItem As NotesRichtTextItem
Dim sText As String

Set docThis = ws.CurrentDocumentDocument
Set rtItem = docThis.GetFirstItem("FeldName")
If rtItem.Type = 1 Then ' # es handelt sich um ein Richtextfeld
    sText = rtItem.Text
    Call rtItem.Remove
    doc.Feldname = sText
    doc.IsSummary = True
End If

ata
Grüßle Toni :)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Agent funktioniert nicht
« Antwort #9 am: 14.04.03 - 11:31:33 »
Ich hab das ganze jetzt so erweitert ! wenn bei ersten durchlaufen das feld kein RTF ist dann springt er mir zu nextdoc: aber wenn beim zweiten durchlaufen das feld wieder kein RTF ist dann gibt er mir Type Missmatch zurück!!
Es ist nämlich so das manche doc's das Feld schon als Textfeld gespeichert haben!!
   Dim s As New NotesSession      
   Dim doc As NotesDocument
   Dim db As NotesDatabase   
   Dim rtItem As NotesRichTextItem
   Dim sText As String
   Dim view As NotesView
   Set db =s.CurrentDatabase      
   Set view = db.GetView("To Do")      
   Set doc = view.GetFirstDocument
   On Error Goto nextdoc
   Do Until doc Is Nothing   
      
      Set rtItem = doc.GetFirstItem("Umstellungsgrund")
      If rtItem.Type = 1 Then ' # es handelt sich um ein Richtextfeld
         sText = rtItem.Text
         Call rtItem.Remove
         doc.Umstellungsgrund = sText
         doc.IsSummary = True
      End If
      Call doc.Save(True, False)                     
nextdoc:
      Set doc = view.GetNextDocument(doc)
   Loop
was mach ich falsch?
robertpp
   
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Agent funktioniert nicht
« Antwort #10 am: 14.04.03 - 12:18:37 »
... ich sehe gerade noch einen Fehler von mir doc.IsSummary macht keinen Sinn - das müßte wenn, dann auf das Feld gemünzt sein...

... Überprüfe, ob es das Feld gibt... doc.HasItem...
... den Speicherbefehl würde ich zur Aktualisierung in die Überprüfung packen, da sonst alle Dokumente gespeichert werden - und das ist unnötig...

ata
« Letzte Änderung: 14.04.03 - 16:53:26 von ata »
Grüßle Toni :)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Agent funktioniert nicht
« Antwort #11 am: 14.04.03 - 14:19:43 »
danke ich hab das jetzt wie gesagt mit hasitem gelöst!!
jetzt muss ich halt mal den agent starten und schaun ob der funktioniert!!
Hat Sonst jemand ein problem beim agent entdeckt warum er nicht funkt?

robertpp
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz