WebQuerySave Newbie

  • Hallo,
    ich habe einen WebQueryAgenten erstellt.
    Er ist eingestellt als gemeinsam, Auswahl in der Agentenliste und als Ziel keines.



    Code
    Dim ses As New Notessession 	Dim doc As NotesDocument 	 	Set doc = ses.DocumentContext 	Call doc.ReplaceItemValue("name","Herr Mann")


    Er soll nur den Wert des Feldes Name ändern. (vorerst)


    Ich rufe den Agenten über


    Code
    @Command([ToolsRunMacro]; "WebPruefung");


    im WebQuerySave Ereignis als Formel auf. Nur nichts passiert.
    Gucke ich dann in die FormularTransfer Datenbank ist das Feld nicht verändert worden. Woran kann es liegen ?

  • Ich muss noch hinzufügen, dass es sich um ein HTML-Formular handelt. Dort möchte ich per Agenten überprüfen, ob in bestimmte Felder Einträge vorgenommen worden, die so nicht gemacht werden sollten (das ist der große Plan). Der Pseudotag dazu steht (D.h. die HTML Ausgabe : " SIe haben in dem und dem Feld einen Fehler gemacht!")


    Das Umwandeln in einen Agenten ist auch kein Problem. Sofern ich erstens weiß, wie ich Felder in so ein Dokument ändern/bzw. ansprechen kann und wie ich dem Agenten dann sage, "Fehler gefunden, lade das Dokument mit der FORMID = XXX nochmal, damit der Benutzer seine Eingaben korrigieren kann":

  • Hi,


    ich muss barrierefrei arbeiten. JavaScript kann zwar auch barrierefrei, aber dazu bin ich nicht in der Lage:). Und Serverseitige Prüfung ist glaube ich sicherer als JavaScript.


    Und das Problem ist ja nur das hin und her schicken, den Rest habe ich ja so im Pseudotag. Das muss ich nur bisschen modifizieren. Aber wenn ich nicht weiß, ob der Agent überhaupt angesprochen wird, brauch ich mich daran nicht machen. Ich weiß nicht mehr was ich noch machen soll :(

  • Was hat das mit barrierefrei zu tun ob die Validierung vom Server oder per JavaScript gemacht wird ?


    Kann es sein, daß du irgendwie einiges durcheinander haust ?


    Und meine erste Frage hast du auch nicht beantwortet.
    Und um zu prüfen ob der Agent ausgeführt wird bau doch einfach ne Messagebox ein und schau danach im ServerLog oder auf der Konsole nach

  • Das Feld ist nicht berechnet. Es ist ein HTML-Formular. Es ist auch kein Wert vorgegeben. Das Feld ist einfach nur leer.


    JavaScript darf ich zwar verwenden, aber nur als zusätzliches Stilmittel. Ich darf mich niemals darauf verlassen, dass der Benutzer auch JavaScript "an" hat bzw. das es auch richtig ausgeführt wurde.


    Funktioniert JavaScript aufgrund eines dummen Umstanden nicht, rutschen mir falsche Daten in die Datenbank und das muss ich verhindern. Und daher ist JavaScript lieber zu vermeiden, wenn ich es vermeiden kann.


    Die Serverseitige Prüfung gelingt immer, weil ich hier Herr im Hause bin und nicht auf dem Client angewiesen.


    Es kann sein, dass ich Sachen durcheinander bin. Denn erstens sitze ich hier bei 30 Grad und zweites ist Lotus für mich Neuland.


    Das was ich mache, ist ja nur der Test. Ich will ein Feld ändern. Der Befehl ist ja richtig, den habe ich so schon in anderen Agenten angewandt. Aber es klappt halt nicht.

  • Moin,


    wie taurec schon gesagt hast, kannst du erst einmal im Agenten eine Ausgabe einbauen um im Server-Log zu schauen ob der Agent startet.


    Wenn nicht, schaue nach ob du die Eigentschaften wie in der Hilfe beschrieben gesetzt hat (shared, security, trigger) etc.


    Wenn ja, dann die Frage speicherst du das Document nach dem lauf des Agenten, hats du eventuell andere Felder oder Scripte die das Feld nutzen bzw ändern könnten?


    MfG Stefan