Domino 9 und frühere Versionen > ND6: Entwicklung

webquerysave Anfängerfrage

<< < (2/2)

koehlerbv:
"Auswahl aus der Liste der Agenten".

Bernhard

Barbara:
weißt Du was hoch interessant ist? Hab' den Agenten jetzt so eingestellt (Auswahl aus der Liste der Agenten) - und im Aufruf den Namen auch in die eckigen Klammern gesetzt. => Der Agent läuft nicht. Mache ich es eigentlich falsch (heißt ohne Klammer) läuft er.  :P

Lasse zum Testen jetzt ein ganz normales Textfeld ändern - Agent läuft durch, Feldinhalt wird nicht geändert.

Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim col As NotesDocumentCollection
   Dim doc As NotesDocument
   
   Set db=session.CurrentDatabase
   Set col=db.UnprocessedDocuments
   Set doc=col.GetFirstDocument
   test=Evaluate( { @IsMember("[Daten]";@userroles) } )
   
   If test(0)=1 Then
   doc.Subject="Test"
   End If
   Print doc.Subject(0)


print schreibt "Test" - mein Dokument hat aber den ursprünglichen Eintrag. Das Speichern passiert laut Dokumenteigenschaften. Auch ein Aktualisieren der Seite bringt nichts.
Der User hat Managerrechte, die richtige Rolle - mit der Maske darf jeder schreiben.

Das macht keinen Spaß. Ich mache morgen früh weiter.

Gute Nacht
Barbara

koehlerbv:
Und wo ist das doc.Save?

Eckige Klammern ist auch nicht, sondern runde.

Bernhard

HH:
Agent-Eigenschaften: Man. aus der Liste der Agenten, Ziel Keines

Dann wird der Agent-Name in runde Klammern gesetzt und muss auch so aufgerufen werden.

Knackpunkt, denke ich, ist UnprocessedDocuments. Richtig ist session.DocumentContext.

Ein doc.Save ist im Agent nicht erforderlich. So funktioniert es:


--- Code: ---Sub Initialize
Dim session As New NotesSession
Dim doc As NotesDocument
Set doc = session.DocumentContext
doc.form = "NeuerMaskenname"
End Sub

--- Ende Code ---

Hubert

Barbara:
ok, runde Klammern  :-\ irgendwann sollte man die Kiste einfach ausschalten - was ich dann ja auch getan habe.

Bernhard, in der Hilfe wird ausdrücklich vor einem doc.save gewarnt!

--- Zitat ---.Das Dokument wird automatisch gespeichert, nachdem der Agent ausgeführt wurde. Legen Sie NICHT fest, dass der Agent das Dokument ausdrücklich speichern soll (z. B., indem Sie "NotesDocument.Save" aufrufen), da ein expliziter Speichervorgang zu fehlerhaften Ergebnissen führen kann....
--- Ende Zitat ---

Ich habe es trotzdem reingschrieben und es funktioniert!!!  Hast Du Erfahrung wie zuverlässig das läuft?

Barbara

edit:
sehe jetzt Huberts Beitrag. Er hat Recht, das war es.

Vielen, vielen Dank - auch Dir Bernhard.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln