Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: theBastian am 29.11.06 - 11:37:32

Titel: Author per AgentRunOnServer gesetzt - wie Zugriff auf Doc?
Beitrag von: theBastian am 29.11.06 - 11:37:32
Hallo allerseits,

ich sitze seit gestern wieder an einem Problem, dessen Lösung mir einfach nicht einfallen will.

Kurzes Szenario:

- User hat Zugriff auf Doc durch Autorenfeld
- User bearbeitet Doc und schließt die Bearbeitung ab --> Autorenfeld wird dabei geleert
- um das Doc später archivieren zu können, braucht der User wieder Zugriff --> AgentRunOnServer, der das Autorenfeld wieder füllt und User hat wieder Zugriff

Dafür gibt es in der View ein ActionButton, der den Agent aufruft und dann das Document.

Da liegt mein Problem: der User hat keine Autorenrechte auf das Document. Erst wenn ich den Button zum 2. Mal klicke, dann geht das.

Code
Dim agentdoc As NotesDocument
	Set agentdoc = collection.GetFirstDocument()
Dim agent As NotesAgent
	Set db = session.CurrentDatabase
	Set agent = db.GetAgent("(SetEditRoleinDocument")
	Call agent.RunOnServer (agentdoc.NoteID)
	
	Set doc = db.GetDocumentByID( agentdoc.NoteID )
	

Muss ich das Doc erst noch irgenwie reloaden?

Grüße
Sebastian
Titel: Re: Author per AgentRunOnServer gesetzt - wie Zugriff auf Doc?
Beitrag von: jagger am 29.11.06 - 22:42:20
Hallo Sebastian,

ein "Delete agentdoc" sollte Dein Problem beheben

Also
Code
nid = agentdoc.NoteID
Call agent.RunOnServer (nid)
Delete agentdoc
Set doc = db.GetDocumentByID( nid)


Titel: Re: Author per AgentRunOnServer gesetzt - wie Zugriff auf Doc?
Beitrag von: theBastian am 30.11.06 - 09:19:25
Morgen,

genau das war es.
Im Nachhinein sogar für mich logisch.  ;)

Vielen Dank für die Hilfe.

Grüße
Sebastian