Autor Thema: webquerysave Anfängerfrage  (Gelesen 2401 mal)

Offline Barbara

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Weiblich
webquerysave Anfängerfrage
« am: 12.08.08 - 21:22:31 »
Hi zusammen,
stehe mal wieder total auf dem Schlauch. Ich darf als absoluter "Nixweiß" eine vorhandene DB, die im Internet läuft, "etwas" abändern.
Klappt bisher auch ganz gut, jetzt fehlt mir noch ein Querysave, das im Web laufen soll.  Welche Einstellungen muss der Agent, den ich im webquerysave aufrufe, mitbringen?
Auswahl aus der Agentenliste? Als Web-Nutzer ausführen?
Woher weiß der Agent, welches Dokument ich bearbeiten will (ich möchte dem Dokument eine andere Form mitgeben)? Geht das mit umprocessedDocuments?
hier der Mini-Agent ohne alles (errorhandling etc.):
Code
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.form="Dokument"
			End If

Hoffe Ihr helft mir wieder mal beim verstehen, schon mal danke

Gruß
Barbara
« Letzte Änderung: 13.08.08 - 10:12:07 von Barbara »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: webquerysave Anfängerfrage
« Antwort #1 am: 12.08.08 - 21:45:17 »
Hast Du schon einmal einfach eine Volltextsuche auf die DesignerHelp mit dem Begriff "WebQuerySave" gefüttert? Der erste Treffer - "Beispiele für Agenten, die ausgeführt werden, bevor Web-Benutzer Dokumente öffnen oder speichern" - beantwortet bereits alle Deine Fragen.

Bernhard

Offline Barbara

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Weiblich
Re: webquerysave Anfängerfrage
« Antwort #2 am: 12.08.08 - 22:17:05 »
guten Abend Bernhard,
leider hilft mir der Hilfetext nicht wirklich. Den habe ich mir heute bestimmt schon 10 mal reingezogen - ich stehe auf dem Schlauch.

Also, der Agent wird durch ein Ereignis (Auswahl im Menü Aktionen), Ziel=Keines, als Web-Benutzer ausgeführt. Ich bekomme die Rückmeldung, dass ich gespeichert habe, der Feldinhalt wird aber nicht geändert. Leider kann man nicht debuggen.

Habe jetzt zum testen das $$Return-Feld rausgeschmissen und print eingebaut. Der Agent arbeitet - der neue Feldinhalt wird nicht übernommen.

Wo kann ich noch suchen?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: webquerysave Anfängerfrage
« Antwort #3 am: 12.08.08 - 22:38:43 »
Erster Satz:
Code
... erstellen Sie einen gemeinsamen Agenten, der manuell ausgeführt wird

Bernhard

Offline Barbara

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Weiblich
Re: webquerysave Anfängerfrage
« Antwort #4 am: 12.08.08 - 22:42:46 »
hilfe - ich kapiers nicht

Barbara

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: webquerysave Anfängerfrage
« Antwort #5 am: 12.08.08 - 22:46:30 »
"Auswahl aus der Liste der Agenten".

Bernhard

Offline Barbara

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Weiblich
Re: webquerysave Anfängerfrage
« Antwort #6 am: 12.08.08 - 23:02:34 »
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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: webquerysave Anfängerfrage
« Antwort #7 am: 12.08.08 - 23:12:06 »
Und wo ist das doc.Save?

Eckige Klammern ist auch nicht, sondern runde.

Bernhard

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: webquerysave Anfängerfrage
« Antwort #8 am: 13.08.08 - 08:28:59 »
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

Hubert

Offline Barbara

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Weiblich
Re: webquerysave Anfängerfrage
« Antwort #9 am: 13.08.08 - 08:32:09 »
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....

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.
« Letzte Änderung: 13.08.08 - 08:41:33 von Barbara »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz