Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Aladdin Sane am 27.06.04 - 15:51:41
-
Hallo,
mit diesen Datenbanken fürs Web tue ich mich noch etwas schwer:
Ich habe einen Agenten in LS - Webkonform ohne UI-Klassen erstellt.
Diesen möchte ich für ein Dokument im Web ausführen.
Entweder als Button mit @Command([ToolsRunMacro]; "AGENT")
oder im WebQuerySave Event.
Über den Knopf bekomme ich im Browser die Fehlermeldung "Seite kann nicht angezeigt werden..."
Über das Event scheint der Agent auch nicht zu laufen - außerdem wird dann das Kommando "@Command([FileSave]);" scheinbar nicht ausgeführt, wenn ich auf speichern und schließen klicke.
Ich habe schon im Forum gesucht aber nichts gefunden.
Ich vermute mal eine ganz einfach Lösung, aber ich habe grad 'n Brett vorm Kopf...
-
Hilfreich wäre der Code des Agenten, der den Fehler offenbar produziert ;)
-
Um der Sache auf den Grund zu gehen habe ich einen Agenten erstellt - komplett ohne Code.
-
Aha. Dann programmiere mal folgendes im Scriptagenten:
Print "Mein Name ist Bond, James Bond".
Was passiert?
Gibt es übrigens ein $$Return Feld?Und falls ja, was steht denn als Formel in dem Feld?
Ist JavaScript beim Erstellen von Seiten in den Datenbankeigenschaften aktiv?
Andreas
-
Gleicher Fehler mit dem print-Befehl.
JavaScript Erstellen von Seite ist aktiv.
$$Return existiert.
Ist aber bearbeitbar und leer...
Ich habe eine andere Beispiel-DB und von der habe ich jetzt mal das $$Return
angepasst: jetzt berechnet mit
"[/" +DBPath + "/str/" + @Text(@DocumentUniqueID) + "?EditDocument]"
im Feld DBPath steht:
@ReplaceSubstring(@Subset(@DbName; -1); " " : "\\"; "+" : "/")
-
Was ist "str" ?
Es sollte ein Feld/eine Variable sein, in der ein Ansichtsname steht. Diese Ansicht muss nach @Text(@DocumentUniqueID) sortiert sein.
Aus der KBASE:
To redisplay a document in Read mode after the Submit button is selected, enter the following code as the formula in the form's computed $$Return field:
"[/"+@Subset(@DbName;-1)+"/$defaultview/"+@Text(@DocumentUniqueID)+"]"
To return to the same document in Edit mode use the following code as the formula in the form's computed $$Return field::
"[/"+@Subset(@DbName;-1)+"/$defaultview/"+@Text(@DocumentUniqueID)+"?editdocument]"
You can replace "/$defaultview/" with any view name, as long as it is sorted in the first column on @Text(@DocumentUniqueID). "@Text(@DocumentUniqueID)" can be replaced by any field name on which the pertinent view occurring in the URL might be sorted.
Andreas
-
OK.
In dem Feld steht jetzt:
"[/"+@Subset(@DbName;-1)+"/hahn/"+@Text(@DocumentUniqueID)+"?editdocument]"
hahn ist der Name der Ansicht.
Die erste Spalte der Ansicht lautet @Text(@DocumentUniqueID) und ist sortiert.
Aber gleicher Fehler:
Ohne Agent im WebQuery bewirkt speichern & schließen ein speichern - Rückkehr zur ansicht aber nur mit dem "Back" Knopf möglich und dann aktualisieren nötig.
Mit Agent im WebQuery genau umgekehrt:
Dokument schließt sich - Ansicht erscheint, aber Änderungen im Dok werden nicht gespeichert.
Und wieder gleiches Problem, wenn Agent über Schaltfläche angeworfen wird...
Gruß
Pascal
???
-
... vielleicht ist es auch nicht der Agent, der da stört - schon getestet?
ata
-
Ich habe den Agenten erstmal aus dem Querry-Ereignis entfernt.
Nochmal zum $$Return-Feld:
Wenn ich das Feld bearbeitbar lasse und leer, läuft das astrein:
Nach "Speichern und schließen" erscheint die gewünschte Ansicht und das Dokument wurde auch erfolgreich gespeichert...
Dann wieder Agent im Ereigbnis:
Schon wird das speichern verhindert...
Das muss dann doch am Agenten liegen, oder?
-
was steht in der log.nsf auf dem Server für ein Eintrag.
Ich wette du hast nicht die entsprechenden Agenten-Berechtigungen im Serverdokument.
(unter security, Agent oder so ähnlich).
-
Im Serverdok bin ich drin:
Security - Agent Restriction - sowohl Java als auch LS.
Das Protokoll des Agenten sagt mit jetzt aber: "Agent noch nie gelaufen".
Ich rufe ihn im WebQuerySave auf - und zwar so:
@Command([ToolsRunMacro]; "hyp2")
mit hyp2 = Name d. Agenten
Save wird u.a. mit dem Knopf speichern & schließen ausgeführt - mit den berühmten @-Befehlen.
-
was steht in "für welche dokumente soll der agent gelten:" und
wann soll der agent gestartet werden (in der nähe wo der code vom agenten ist)
-
Wann:
Manuell aus dem Menü Aktionen
Für welche Dokumente:
Einmalig
-
dann bin ich ehrlichgesagt überfragt. Das sieht alles richtig aus. ???
-
Es war tatsächlich ein Anfängerfehler.
Ich hatte "gemeinsam genutzt" nicht angeklickt...
sorry