Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: mgubler am 06.02.08 - 18:23:24

Titel: Rückgabewert in Maske ausgeben
Beitrag von: mgubler am 06.02.08 - 18:23:24
Ich habe ein Suchformular.
Wenn der User den Suchbegriff (Support-Nummer) eingegeben hat, soll er den Status des Tickets zurück bekommen.

Kann mir vielleicht jemand einen Lösungs-Anstoß hierzu geben?
Ich habe bereits die Maske und eine View, in der die entsprechenden Dokumente aufgelistet sind.

Hinweis:
Ich mag vielleicht blöde Fragen stellen, aber ich bin schon seit Jahren nicht mehr in der Notes Programmierung zu Hause.
Ich arbeite mich gerade wieder ein.
Von daher habt bitte ein wenig Verständnis.

Danke,
Marc
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: Axel am 06.02.08 - 19:32:17
Die Infos sind etwas dürftig und was genaueres zu sagen.

Wie und wo soll die Suche ausgeführt werden?

Wo sollen die Ergebnisse angezeigt werden?


Mehr Input -> mehr uund besserer Output.

Axel
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: ata am 06.02.08 - 21:39:08
... eventuell hilft dir ein @DBLookup - schau dir mal in der Hilfe die Beispiele an - das könnte ein Ansatz für dich sein...

Toni
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: koehlerbv am 07.02.08 - 00:05:32
@dbLookup wäre auf jeden Fall der einfachste Ansatzpunkt. Wenn ich mir aber die letzten Postings so anschaue, hantiert Marc mit dem Domino und Web-Browsern - und !!HELP!! von Ulrich und Thomas. Wenn der Thread-Eröffner nicht genauere Infos liefert, wird die Motivation zum Antworten bei anderen wohl eher sinken ...

Benrhard
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: mgubler am 07.02.08 - 08:08:10
Guten Morgen zusammen,

nachdem ich hier nun mehrfach zu lesen bekam, ich solle bitte nähere Infos geben, werde ich dies nun nachholen.
Wir arbeiten mit dem Domino in der Version 6.5.5.
Der Client ist 6.5.3.

Als Hauptdatenbank dient mir die HELP-Datenbank von eknori.
Diese würde ich nun gerne erweitern um das Feature "Suche nach bestimmter ID".
Dazu habe ich eine Maske angelegt (siehe angehängten Screenshot).
Mit der Maske will ich den Status (Feld ReqNumber bzw. Spalte 2) aus einer View auslesen und wieder zurückgeben.
Somit kann der Benutzer direkt sehen, wie der Bearbeitungsstand seines Tickets ist.
Dabei ist mir egal, ob die Augabe des Ergebnisses direkt auf der "Suchmaske" oder einer separaten Seite / Maske ausgegeben wird.

Leider kann ich die Datenbank nicht direkt posten, da dies selbst gepackt, den Rahmen von 10 MB sprengen würde.


Wer noch fragen hat, möge die posten oder mir direkt ein Mail schreiben.
Ich bin für jede Hilfe dankbar.
Webanwendungen sind schon ein wenig her.
Normale Datenbanken zu entwickeln/ändern ist gerade weniger mein Problem.

Viele Dank im voraus,

Marc
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: Axel am 07.02.08 - 08:29:22
Die einfachste Alternative wäre hier dann wirklich @DbLookup.

Dazu braucht'S eigentlich gar keine spezielle Suchmaske. In dem Suche - Button machst du ein @DbLookup und nimmst den Feldinhalt von ReqNumber als Key. Als Rückgabewert nimmst du das Statusfeld (@DbLookup(..., ..., ..., ..., "Name des Statusfeldes"). Den kannst du dann mit @Prompt anzeigen lassen.

Axel
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: mgubler am 07.02.08 - 08:50:23
Habe das so geändert, wie angegeben, aber erhalte immer "@Function is not valid in this context " zurück.

Also das ist doch so richtig, oder:

Suche-Button: tmp_erg := @DbLookup("":"";"":"";"nachid";ReqNumber;2); (Hier will ich den Wert aus der zweiten Spalte zum betreffenden Dokument auslesen.

Und im $$RETURN-Feld:
@Prompt([OK];"";tmp_erg);
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: ata am 07.02.08 - 08:59:01
... Auszug aus der Hilfe:

Zitat
This function does not work in column or selection formulas, or in mail agents.

... könnte da was zutreffen?

Toni
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: Axel am 07.02.08 - 09:04:23
Erstmal kann das so prinzipiell nicht funktionieren, da tmp_erg nur innerhalb des Suchen-Buttons gültig ist.

Code im Suchen - Button:

tmp_erg := @DbLookup("":"";"":"";"nachid";ReqNumber;2);
@Prompt([OK];"";tmp_erg);

So sollte das im Notes-Client funktionieren. Aber anscheinend willst du das Ganze im Web machen.

Da kann ich dir leider nicht mehr weiterhelfen, da mir leider die notwendige Erfahrung fehlt.

Axel
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: mgubler am 07.02.08 - 11:42:28
@Axel: genau darum geht es: das Ganze im Web anzuzeigen.

Hat denn jemand eine Idee, wie man das Ganze im Web nachstellen kann?!?

Danke im voraus,

Marc
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: dirk_2909 am 07.02.08 - 11:58:30
auch im Web genügt ein berechnetes feld mit dem entsprechendem LookUp .
Das "Browserdokument" muss natürlich neu geladen werden...

mit AJAX würde evtl. auch noch was gehen .. aber .....
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: ata am 07.02.08 - 12:51:27
@Marc,

... es wäre sicherlich sinnvoll gewesen, den Webzugriff gleich bei der ersten Frage zu erwähnen. Es ist doch mühsam alles erraten zu müssen - Notes gibt es nicht nur mit Webzugriff...

Ich hatte es geahnt, als ich $$Return sah... O0

Dirk hat dir den richtigen Tip ja bereits gegeben. Wäre schön, wenn du beim nächsten Mal die Frage besser eingrenzen könntest...  ;)

Toni
Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: HH am 07.02.08 - 13:23:24
Hallo Marc,

vielleicht ein vollkommen anderer Ansatz:

Eine Seite, die pures HTML für das Suchformular enthält. Der form-tag könnte etwa so aussehen:

Code
<form name="suche" method="post" action="suchagent?openAgent">

Mit session.documentContext.request_content(0) kannst du dann im Agent auf das oder die geposteten Felder zugreifen und die Suche (wie auch immer gestaltet) durchführen.

Ergebnis könnte dann die universalID des Tickets sein, mit der du das Dokument dann aus dem Agent aufrufst.

Hubert

Titel: Re: Rückgabewert in Maske ausgeben
Beitrag von: dirk_2909 am 08.02.08 - 06:42:29
@All .. zur Info ...

Habe Marc "intern" ( ;-) ) folgenden Tipp/Anstoss/Idee gegeben:

Zitat
als erstes benötigst Du eine Startseite (Maske) über die der User die Supportnummer eingeben muss.

Am besten eine "Seite" in der nur JavaScript und HTML vorhanden ist (bessere Performance)

In dem "Weiter" bzw. "Anfrage"-Button schreibst Du JS, dass die Eingabe des Users auswertet ..
Die URL sollte dann so aussehen:

 "/<ANSICHTSNAME>/?SearchView&Query=<SEARCHSTRING>&SearchOrder=2&SearchMax=100&Count=30&SearchWV=1"

Als <Ansichtsname> musst Du die Ansicht angeben, in der die Supportanfragen aufgelistet werden
Den <Searchstring> musst Du noch aufbauen. Syntax wie normale Volltextsuche:

   "[FELD_MIT_SUPPORTNUMMER] CONTAINS " + SupportNummer



In der DB muss eine Maske mit dem Titel   $$SearchTemplateDefault vorhanden sein .
Diese Maske zeigt dann die Suchresultate . Du kannst Sie nach belieben designen...

Wichtig ist nur, dass das Feld $$ViewBody vorhanden ist. An dieser Stelle werden die Suchergebnisse angezeigt.

Vielleicht kann es ja jemand benötigen, der die Forumssuche benutzt etc. ..