Domino 9 und frühere Versionen > ND8: Entwicklung

Agent mit ParameterDocID findet Dokument nicht (immer).

<< < (2/3) > >>

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