Autor Thema: Webformular öffnen mit Parameterübergabe  (Gelesen 3135 mal)

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Webformular öffnen mit Parameterübergabe
« am: 01.03.11 - 16:37:41 »
Hallo,
ist es möglich in ein Webformular mit Aufruf der URL und Übergabe von Parametern, diese direkt in die Felder des Webformulars zu übernehmen?
Also zum Beispiel:
Mit solch einer URL das Formular fmArticle aufzurufen und dann dort die Felder Autor mit Meier und year mit 2011 "vorzubelegen"
http://server/path1/path2/file.nsf/fmArticles?OpenForm&AUTOR=Meier&year=2011

Danke

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Webformular öffnen mit Parameterübergabe
« Antwort #1 am: 01.03.11 - 17:59:33 »
Erstelle in Deiner Maske mal ein Feld Namens "QUERY_STRING" oder "QUERY_STRING_DECODED". Das enthält automatisch die Parameter. Dann kannst Du im Vorgabewert Deiner Felder einfach per @Word , @Explode und/oder @Right( QUERY_STRING , "Autor=" ) o.ä. die Werte in die Felder übernehmen.

Dazu willst Du Dir in der Designer- Hilfe in der Index- Ansicht die Einträge zu "Table of CGI variable names" anschauen...

Gruss
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Webformular öffnen mit Parameterübergabe
« Antwort #2 am: 02.03.11 - 00:14:44 »
Guten Abend, ist zwar ein bisschen OT, aber das muss ich an dieser Stelle los werden:
Bei der Implementierung von  QUERY_STRING_DECODED wurde m.E. nicht zu Ende gedacht und kann in vielen Fällen m.E. nicht sinnvoll verwendet werden.

Angenommen ich will
- Firma: 2&2 Internet
- Tel:1234
- Fax:2345
übergeben, so muss ich das folgendermaßen encoden (man beachte das & Zeichen):
http://server/pfad/maske?OpenForm&Firma=2%262%20Internet&Tel=1234&Fax=2345

QUERY_STRING ist dann korrekterweise: "OpenForm&Firma=2%262%20Internet&Tel=1234&Fax=2345" und ich kann diesen mit
Code
parts:= @URLDecode("Domino";@Explode(QUERY_STRING;"&"))
in eine Liste (Inhalt: name=wert) zurückverwandeln. ein
Code
sanityfiler:="Firma":"Tel":"Fax"
@Transform(parts;"x";@if(@left(x;"=")=sanityFilter;@SetField(@left(x;"=");@right(x;"="));""))
könnte dann die Inhalte auf die Felder verteilen. (Achtung: Formel ist nicht getestet)


Jetzt zum Problem:
QUERY_STRING_DECODED dekodiert den ganzen Query-String, was m.E falsch ist. Als Ergebnis bekommt man "OpenForm&Firma=2&2 Internet&Tel=1234&Fax=2345" und man kann nicht mehr eindeutig feststellen was als Value für Firma übergeben wurde... :-:

Ein weiterer Fallstrick: Will man auf eine CGI-Variable zugreifen, so muss ein entsprechend benanntes Feld in der Maske vorhanden sein (Text,Computed for Display und per Hideformel versteckt)
Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Webformular öffnen mit Parameterübergabe
« Antwort #3 am: 02.03.11 - 09:44:58 »
Moin, moin,
vielen Dank für die beiden Hinweise. Klappt perfekt und ich bin immer wieder begeistert über die schnelle und kompetente Hilfe in diesem Forum.
Noch einen scönen sonnigen Tag.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz