Autor Thema: Probleme mit Agent  (Gelesen 1254 mal)

Offline Holger

  • Junior Mitglied
  • **
  • Beiträge: 55
  • I love YaBB 1G - SP1!
Probleme mit Agent
« am: 17.05.02 - 10:00:37 »
Hallo

ich brauche mal wieder eure Hilfe, ich habe eine ToDo Datenabank in der alle ToDo's der Mitarbeiter gespeichert werden, mit dem Datum bis wann die Sache erledigt sein muß. Dann läuft in der Nacht ein Agent über die Datenbank der in einem Feld einfügt wie der Status des ToDo's ist. Was nicht funktioniert, ist dass er die überfälligen auf überfällig setzt. ich habe den Agent dann mal auf manuell eingestellt und gestartet und das Problem ist er läuft nicht über die ganze Datenbank sondern ändert nur das erste Dokument das er findet und stoppt dann. Ich habe den Code mal angehängt, vielleicht fällt euch ja was auf was falsch ist an dem Code. Bin für jede Hilfe dankbar.

Option Public
Option Declare


Sub Initialize
     
     Dim xSession As New NotesSession
     Dim xView As NotesView
     Dim xDb As NotesDatabase
     Dim xDoc As NotesDocument
     
     Dim xNow As New NotesDateTime("")
     
     xNow.LSLocalTime = Now
     Set xDb = xSession.CurrentDatabase
     Set xView = xDb.GetView("LookupDateState")
     
    '----Feld DateState Wert zuweisen
     
     Set xDoc = xView.GetFirstdocument()
     
     Do Until xDoc Is Nothing
           
           If xDoc.AssignState(0) = 4 Then
                 xDoc.DateState = "3" ' abgeschlossen
           Elseif xDoc.EndDate(0) < Datevalue(xNow.DateOnly) Then
                 xDoc.DateState = "0" ' überfällig
           Elseif xDoc.StartDate(0) > Datevalue(xNow.DateOnly) Then
                 xDoc.DateState = "2" ' abgeschlossen
           End If
           
           Call xDoc.Save(True, False)
           
           Set xDoc = xView.GetNextDocument(xDoc)
           
     Loop
     
End Sub

Danke Holger
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline grosses.manitu

  • Junior Mitglied
  • **
  • Beiträge: 66
  • Geschlecht: Männlich
  • Ich liebe deutsche Element Begriffe...
Re: Probleme mit Agent
« Antwort #1 am: 17.05.02 - 11:10:26 »
Kann es sein, dass das geaenderte Dokument direkt in der View an die letzte Position kommt und daher das .getNextDocument kein neues Dokument mehr findet?
Mache es doch lieber ueber eine Collection. Am besten eine NotesViewEntryCollection. Die kriegst Du mit der Properties .AllEntries der NotesView class.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
------
Jeder muss mal gehen, die Frage ist einfach: Wann, Wohin, Warum... und mit Wem?

Offline Holger

  • Junior Mitglied
  • **
  • Beiträge: 55
  • I love YaBB 1G - SP1!
Re: Probleme mit Agent
« Antwort #2 am: 17.05.02 - 13:50:12 »
Hallo

Danke für den schnellen Response, aber jetzt müsstest Du mir ein bisschen mehr helfen, da ich in Script nur minimale Kenntnisse habe. Was müßte ich denn dann abändern um das Ziel zu erreichen?

Holger
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline grosses.manitu

  • Junior Mitglied
  • **
  • Beiträge: 66
  • Geschlecht: Männlich
  • Ich liebe deutsche Element Begriffe...
Re: Probleme mit Agent
« Antwort #3 am: 17.05.02 - 15:23:20 »
Code


Option Public
Option Declare


Sub Initialize

     Dim xSession As New NotesSession
     Dim xView As NotesView
     Dim vc As NotesViewEntryCollection
     Dim ve As NotesViewEntry
     Dim xDb As NotesDatabase
     Dim xDoc As NotesDocument
     
     Dim xNow As New NotesDateTime("")
     
     xNow.LSLocalTime = Now
     Set xDb = xSession.CurrentDatabase
     Set xView = xDb.GetView("LookupDateState")
     
    '----Feld DateState Wert zuweisen
     'collection generieren
     Set vc = xView.AllEntries
     
     
     If Not( vc Is Nothing) Then
           
           If vc.Count > 0 Then
                       
                       Set ve = vc.GetFirstEntry()
                       Set xDoc = ve.Document
                       
                       While Not( xDoc Is Nothing)
                             
                             
                             'dein code normal auf dem xDoc
                             
                             Set ve = vc.GetNextEntry( ve )
                             'hier muesste vielleicht noch ein check kommen, ob ein next entry gefunden wurde
                             Set doc = ve.Document
                       Wend                        
                 Else
                 End If
           Else
           End If
     
     


End Sub


Ist so auf die schnelle geschrieben. Koennte kleine Fehler drin haben.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
------
Jeder muss mal gehen, die Frage ist einfach: Wann, Wohin, Warum... und mit Wem?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz