Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: my head am 20.05.03 - 12:49:07

Titel: agent starten
Beitrag von: my head am 20.05.03 - 12:49:07
hallo!

hab zwei agenten, die manuell gestartet wunderbar arbeiten... sie sollten aber eigentlich nach erstellen bzw ändern eines doks anspringen... tun sie aber nicht... woran könnte das liegen??
Titel: Re:agent starten
Beitrag von: Axel am 20.05.03 - 12:51:06
Hi,

wir brauchen ein paar mehr Infos, Code, Fehlermeldung, eingestellte Agentoptionen etc.

Axel
Titel: Re:agent starten
Beitrag von: my head am 20.05.03 - 12:54:30
das ist es ja keine fehlermeldung... der agent wird einfach nicht ausgeführt!! und am code kann's eigentlich nicht liegen, weil er ja manuell funktioniert...

einstellung: "wenn dok geändert oder erstellt wurde"

Sub Initialize
'****************************************************************************************************   
'VARIABLEN   
'****************************************************************************************************   
     'EXCEL-DATEI
   Dim xlFilename As String
'**************************************************************
    'Excel-Export-Datei
   xlFilename = "C:\test1.xls"                                  
'**************************************************************
   Dim Excel As Variant
   Dim xlWorkbook As Variant
   Dim xlSheet As Variant
   Dim row As Integer
   Dim column As Integer
   Dim lva As String
   
   Print "Verbindung zu Excel wird aufgebaut..."
   Set Excel = CreateObject( "Excel.Application.9" )   
   Excel.Visible = False '// Excel unsichtbar machen
   Excel.Workbooks.Open xlFilename 'Excel-Datei öffnen
   Set xlWorkbook = Excel.ActiveWorkbook
   Set xlSheet = xlWorkbook.ActiveSheet
   column = -1
   
   'LOTUS_NOTES
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim entry As NotesViewEntry
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("uebersicht")
   Set collection = view.AllEntries
   Set entry = collection.GetFirstEntry   
   Set doc = entry.Document
'*****************************************************************************************************   
   
'****************************************************************************************************
'EXCEL-INHALTE LÖSCHEN
'****************************************************************************************************
   Excel.Range(xlSheet.Cells(1,1),xlSheet.Cells(70,112)).Select
   Excel.Selection.Font.Bold = False
   Excel.Selection.Value = ""
'****************************************************************************************************
   
   
'****************************************************************************************************   
'EINLESEN:
'****************************************************************************************************
   'EinleseSchleife
   While Not (entry Is Nothing)
      lva = doc.txtLva(0)
      row = 1
      column = column + 2
      With xlSheet
         .Cells(row,column).Select
         Excel.Selection.Font.Bold = True   
         .Cells(row,column).Value = doc.txtLVA(0)         
         row = row +1
         While (lva = doc.txtlva(0))
            .Cells(row,column ).Value = doc.txtNachname(0)&" "&doc.txtVorname(0)
            .Cells(row,column+1 ).Value = doc.nmbTel(0)
            Set entry = collection.GetNextEntry(entry)            
            row = row +1   
            If (entry Is Nothing) Then
               Goto DONE      
            Else
               Set doc = entry.Document
            End If            
         Wend
      End With   
DONE:
   Wend
   
'*******************************************************************************************************
'Excel-Verbindung trennen
'*******************************************************************************************************
   Print "Verbindung zu Excel wird getrennt..."
   xlWorkbook.Close True
   Excel.Quit '// Close Excel
   Set Excel = Nothing 'den Speicher leeren
   Print " " 'Statuszeile löschen   
'*******************************************************************************************************
   
   
End Sub
Titel: Re:agent starten
Beitrag von: Axel am 20.05.03 - 12:57:34
Hi,

dass er getriggert ausgeführt werden soll, hast du im Agent eingestellt. Davon gehe ich mal aus, oder ?

Wo wird der Agent denn ausgeführt. Auf dem Server? Wenn ja ist dort Excel installiert ?


Axel
Titel: Re:agent starten
Beitrag von: my head am 20.05.03 - 13:01:40
nein?!? was ist getriggert?  :-[

er wird lokal ausgeführt...
Titel: Re:agent starten
Beitrag von: Axel am 20.05.03 - 14:34:08
Hi,

getriggert heißt, dass er durch ein Ergeignis gestartet, z.B. wenn ein neues Mail ankommt, oder dass er zeitgesteuert läuft, z.B. täglich um 5.00 Uhr.

Zitat
hab zwei agenten, die manuell gestartet wunderbar arbeiten... sie sollten aber eigentlich nach erstellen bzw ändern eines doks anspringen... tun sie aber nicht... woran könnte das liegen??

Das sind getriggerte Agents. ES muss bei "Wann soll der Agent gestartet werden" die Option "Wenn Dokumente erstellt oder geändert wurden" eingestellt werden.


Axel
Titel: Re:agent starten
Beitrag von: my head am 20.05.03 - 15:39:04
das ist schon klar...

aber genau mit der option passiert eben nichts...

und ich weiß nicht warum, ich dachte es gäbe noch irgendwas anderes zu beachten...
Titel: Re:agent starten
Beitrag von: Axel am 20.05.03 - 16:29:44
Hi,

die beiden einzigsten Dinge die dabei zu beachten sind, ist dass die Option wann er gestaertet werden soll richtig eingestellt ist und, das ist sehr wichtig, keine Frontend-Klassen (NotesUIDocument usw.) benutzt werden.

Wenn die Sache lokal laufen soll, dann überprüfe doch mal in den Benutzervorgaben die Startoptionen. Ist die Option "Lokale periodische Agenten aktivieren" gesetzt? Wenn nein setze sie mal und starte den Client neu.

Axel
Titel: Re:agent starten
Beitrag von: my head am 21.05.03 - 13:30:08
bin langsam total ratlos, auch diese maßnahme hat nicht weiter geholfen...  :(
Titel: Re:agent starten
Beitrag von: Axel am 21.05.03 - 13:37:41
Hi,

mir gehen auch so langsam die Ideen aus.  :-\

Vielleicht hat noch jemand eine Idee.


Axel

Titel: Re:agent starten
Beitrag von: Rob Green am 21.05.03 - 13:44:50
hast Du das Sript ins Query Save der Maske geschrieben oder wo steht es drin?
Titel: Re:agent starten
Beitrag von: my head am 21.05.03 - 13:56:47
das ist einfach ein agent... wird der nicht automatisch aufgerufen? muss ich den dann noch ins querysave der maske schreiben?
Titel: Re:agent starten
Beitrag von: Rob Green am 21.05.03 - 14:56:35
 ;) ja, wenn Du möchtest, daß bei
- jedem Speichvorgang eines Dokumentes
etwas passiert, zB diese Excel Geschichte.

Speichern eines Docs = "triggered" (löst aus) das Event Query Save in der gegebenen Maske

Da kann man es zB reinschreiben.