Domino 9 und frühere Versionen > ND8: Entwicklung
Agent mit ParameterDocID findet Dokument nicht (immer).
Peter Klett:
Woran erkennst Du, dass der Agent das Dokument nicht findet? Kann es stattdessen auch sein, dass er das Dokument findet aber bei der Verarbeitung auf ein Problem stößt und deshalb das Dokument nicht löscht? Ich würde mal im Log nachsehen, ob der Agent einen Fehler protokolliert.
Was macht der Agent mit den ausgelesenen Daten? Er wird die doch sicher irgendwohin schreiben. Könnte dabei ein Fehler auftreten?
FlatPM:
Also der Agent bekommt die richtige ID, ich habe sie mir auf der Serverconsole ausgeben lassen. Wenn ich danach das Dokument holen will ist, ist die Variable in die das Dokument referenziert werden soll leer. Egal worauf ich zugreife, es kommt die Fehlermeldung "Object Variable not set".
Peter Klett:
Liegt die Datenbank nur auf einem Server? Falls nicht, könnte es sein, dass das Dokument auf Server1 geschrieben und der Agent auf Server2 gestartet wird? Das passt zwar nicht zu Deiner Fehlerbeschreibung, dass der Fehler nur auftritt, wenn das Namensfeld gelöscht wurde, aber sonst habe ich auch keine weiteren Ideen mehr.
BigWim:
Poste doch mal den Code Deines Agenten. Vielleicht kann man daran etwas erkennen.
Markus
FlatPM:
Na klar.
Der Code der SharedAction:
--- Code: ---Sub Click(Source As Button)
On Error Goto errHandler
Dim session As NotesSession
Dim db As NotesDatabase
Dim ws As NotesUIWorkspace
Dim settingsDoc As NotesDocument
Dim serverAgent As NotesAgent
Dim newFolderName As String
Dim boxType As Long
Dim answer As Integer
'Init
Set session = New NotesSession
Set db = session.CurrentDatabase
Set ws = New NotesUIWorkspace
Set serverAgent = db.GetAgent("SetupFolderRights")
'sicherstellen dass der nutzer über einem ordner in der gkks-hierarchie ist
If(ws.CurrentView.ViewName Like "GKSS\*") Then
'berechtigungen auslesen
Set settingsDoc = New NotesDocument(db)
settingsDoc.FORM = "fFolderRights"
settingsDoc.co_folderTitle = ws.CurrentView.ViewName
settingsDoc.co_rights = ws.CurrentView.View.Readers
If (ws.dialogbox("fFolderRights",True,True,False,True,False,False,"Ordner erstellen",settingsDoc)) Then
'ws.CurrentView.View.Readers = settingsDoc.co_rights
Call settingsDoc.Save(True,False)
Call serverAgent.RunOnServer(settingsDoc.NoteID)
End If
End If
Exit Sub
errHandler:
Print "Rechte konnten nicht gesetzt werden (" & Error & "-" & Erl & ")"
Exit Sub
End Sub
--- Ende Code ---
Der Code des Agenten
--- Code: ---
Sub Initialize()
Dim session As NotesSession
Dim db As NotesDatabase
Dim settingsDoc As NotesDocument
Dim serverAgent As NotesAgent
'Init
Set session = New NotesSession
Set db = session.CurrentDatabase
Set serverAgent = session.Currentagent
Set settingsDoc = db.GetDocumentByID(serverAgent.ParameterDocID)
Print serverAgent.Parameterdocid
'berechtigungen übernehmen
db.Getview(settingsDoc.co_folderTitle(0)).Readers = settingsDoc.co_rights
Call settingsDoc.Remove(True)
End Sub
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln