Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: geissbock am 16.03.07 - 09:05:04

Titel: Anfängerfrage zu WebQuerySave
Beitrag von: geissbock am 16.03.07 - 09:05:04
Hallo,
bin noch wenig vertraut mit Notes-Progrmmierung fürs Web. Soll ein Formular fürs Web entwickeln. Hab also eine Makse entworfen und mit ein wenig CSS ansehnlich hinbekommen. Die Maske enthält verschieden Teilmasken, die dann die Eingabefelder enthalten. Nun soll das Formular per Button mit FileSave und FileClosewindow gespeichert werden. Dabei soll ein Agent im webquerySave entsprechend Inhalte aus dem akktuelen Dokument auslesen und neue NotesDokumente erstellen, die diese Inhalte dann erhalten. Aber nichts passiert. Warum nicht? Hier der Agent, der im WebQuerySave ausgelöst wird:
'-----------------Declarations-----------------
   Dim s         As New NotesSession
   Dim docNew      As NotesDocument
   
   Dim docNewQuelle      As NotesDocument
   Dim docSelected   As NotesDocument
   Dim dbThis      As NotesDatabase
   Dim docThis      As NotesDocument
   Dim dbpath      As String
   Dim getUNID      As String
   Dim strproduktname As String
   Dim strname As String
   '-----------------Declarations-----------------
   
   Set dbThis = s.CurrentDatabase
   Set docThis = s.DocumentContext
   dbpath = Replace(dbThis.FilePath, "\","/")
   
   strproduktname = docThis.fdProduktnameTX(0)
   Msgbox (strproduktname)
   strname = docThis.fdNameTX(0)
   Msgbox (strname)
   Set docNew = dbThis.CreateDocument
   docNew.Form = "fmdaten"
   docNew.fdProduktnameTX=strproduktname
   Call docNew.Save(True,True)
   getUNID = docNew.UniversalID
   
   Set docNewQuelle = dbThis.CreateDocument
   docNewQuelle.Form = "fmQuelle"
   docNewQuelle.fdNameTX=strname
   
   Call docNewQuelle.MakeResponse( docNew )
   Call docNewQuelle.Save(True,True)

By the way: Noch eine Frage zu Notes-Feldern im Web. Standardmässig ist die Größe der Felder ja sehr klein. Mit Size=100 in den HTML-Attributen kann ich die Länge ja vergrößern, aber wie kann ich die Höhe des Feldes beeinflussen, damit mehrzeilige Eingaben möglich sind?
Thanx Klaus
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: Glombi am 16.03.07 - 09:18:21
Lass das
dbpath = Replace(dbThis.FilePath, "\","/")
mal weg. Laut Hilfe werden dort Array als Parameter erwartet, Du verwendest aber nur Strings.
Kann sein, dass der Agent da aussteigt.

Ausserdem solltest Du ein Error Handling einbauen und Fehlermeldungen ausgeben.

Andreas
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: geissbock am 16.03.07 - 09:34:19
Hallo,
danke für die Antwort, aber das war es noch nicht. Der Agent ist nun mal ganz am Anfang. Ich wollte eben erst mal probieren, was da so geht, deswegen noch kein Errorhandling, aber da werd ich wohl jetzt mal investieren, denn Debuggen ist ja hier leider nicht möglich. Werden die Fehlermeldungen dann einfach im Server-Log ausgeworfen?
Gruß Klaus
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: Thomas Schulte am 16.03.07 - 09:44:15
Ich nehm bei sowas zum Beispiel diese Einträge:
Stil: width:98%; font-family:Verdana, Geneva, Arial, Helvetica, sans-serif; font-size:12px
Andere: rows="10"
für ein klassisches Textfeld
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: geissbock am 16.03.07 - 10:57:00
Hallo Thomas,
auch dafür Dank, aber irgendwie hab ich heut die Seuche. Auch das funzt bei mir nicht. Hab extra mal ne ganze neue Maske mit nur einem Textfeld erstellt und die Werte eingestellt, wie Du's beschrieben hast, aber das Feld wird trotzdem im Web nur einzeilig dargestellt.
Gruß Klaus
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: umi am 16.03.07 - 13:36:04
Führ Mehrzeilige Eingabefelder musst Du "Allow Multivalue" beim Textfeld aktivieren, dann kannst Du die grösse des "textarea" mit Cols= und Rows= bestimmen.
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: geissbock am 16.03.07 - 13:48:48
Hallo umi,
super. danke, das war der entscheidende Hinweis. Wenn mir jetzt noch jemand sagen kann, warum der blöde WebQuerySave-Agent keine Dokumente erzeugt, könnte ich doch noch beruhigt in Wochenende gehen.
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: umi am 16.03.07 - 14:09:49
Kein Errorhandling -> Kein Wochenende :-)
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: Thomator am 16.03.07 - 14:52:21
Bau mal ein Fehlerhandling ein. Das kann so aussehen:

ganz oben im initialize:

on error goto errorhandler

und ganz unten

exit sub
errorhandler:
msgbox "Fehler in Agent ..." & error & " (" & err & ") in Zeile " & erl
exit sub

Dann schreibt Dir der Agent die Fehler in die Domino-Konsole.
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: umi am 16.03.07 - 14:55:44
oder direkt mit print, dann siehst Du die Fehler im Web
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: geissbock am 19.03.07 - 08:55:48
Guten Morgen,
Am Freitag doch verzweifelt aufgegeben. Aber nun muss es doch weitergehen ;-))
Also das Errorhandling habe ich eingebaut. Allerdings mit dem Print, denn auf die Konsole habe ich hier keinen Zugriff. Der Fehler liegt wohl gar nicht im Agenten, der wird erst gar nicht gestartet. Ich habe in der Schaltfläche zum Speichern des Formulars, folgende Formel stehen.
@Command([FileSave]);
@PostedCommand([FileCloseWindow])

Funktioniert das im Web nicht? Es wird weder ein Dokument gespeichert noch der Agent gestartet.
Danke Klaus
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: geissbock am 19.03.07 - 16:16:54
Hallo,
ich muss leider nochmal nerven, denn ich komm einfach nicht weiter. Also nehm ich den Agenten raus aus dem WebQuerySave, wir das Dokument korrekt abgespeichert, bleibt aber offen. Füg ich nun den Agenten ein, kommt eine Meldung dass er die Seite nicht finden kann und es wird nichts gespeichert und auch weder der Agent noch eine Print Anweisung ausgeführt. Was mach ich denn hier falsch. In der Brauserleiste steht dann übrigen das hier:
http://servername/formname?OpenForm&Seq=1
Was versucht er denn hier zu öffnen?
Danke Klaus
Titel: Re: Anfängerfrage zu WebQuerySave
Beitrag von: Gandhi am 21.03.07 - 16:33:38
Wie sind denn die Einstellungen des WQS Agenten? Der muss shared sein,  auf Target='none' gestellt werden und auf Webuser gestellt sein.

Ansonsten musst Du Dir mal die Log.nsf auf dem Server ansehen.  Da sollte dann im Zweifel ein Fehler vermeldet sein.

Was bekommst Du als Rückmeldung? Agent Processed?
Und ist der Button aus dem Du ihn aufrufst ein normaler Notes-Designer Button?