Autor Thema: Situationsabhängige Werte im $$Return  (Gelesen 1558 mal)

Driri

  • Gast
Situationsabhängige Werte im $$Return
« am: 08.02.06 - 17:02:33 »
Hallo liebe Mitstreiter,

ich habe ein kleines Problem in einer Notes-Client/Webanwendung. Es handelt sich um einen Trainingskatalog, in dem den Benutzern ein Überblick über das Angebot an Trainings angeboten wird und die Benutzer ein Training auch direkt buchen und vom Vorgesetzten genehmigen lassen können.

Der Benutzer kann direkt aus einem Training einen Antrag erstellen, beim Speichern wird dann eine Mail an den hinterlegten Vorgesetzten versendet. Die Mail enthält sowohl einen DocLink für unsere Notesbenutzer, als auch eine URL für unsere Exchangebenutzer (die Migration nach Notes wird noch ein wenig dauern).

Der Vorgesetzte kann nun den Antrag entweder über die URL oder über eine View in der Datenbank öffnen. Beim direkten Öffnen wird das Dokument im vollen Fenster geöffnet, die View ist in ein Frameset eingebunden.
Beim Speichern des Antrags soll nun eine Nachricht ausgegeben werden, mit dem Hinweis daß gespeichert wurde und mit einer Info, was der Benutzer nun tun kann/muß.

Diese Nachricht muß nun abhängig davon sein, ob das Dokument im vollen Fenster oder im Frameset geöffnet wird.

Und genau da hänge ich. Folgende Dinge habe ich bereits ausprobiert :

- per JavaScript im onLoad das $$Return gesetzt

Zitat
if (top != self)
{
document.forms[0].$$Return.value = "url1";
}
else
{
document.forms[0].$$Return.value = "url2";
}

- ein Feld für HTTP_Referer eingebaut, um abzufangen, ob das Dokument über die View geöffnet wurde


Beim JavaScript wird das $$Return nicht gesetzt (wobei ich da absolut kein Experte bin, vermutlich ist der Code so nicht korrekt und ich weiß einfach nicht, wie ich das sonst machen sollte).

Beim HTTP_Referer habe ich das Problem, daß wenn ich ein Dokument über die View öffne, ich teilweise einen Wert eingetragen bekomme, teilweise aber auch nicht. Ich kann mir nicht erklären, warum das Verhalten da unterschiedlich ist.


Gibt es Alternativen ? Oder hab ich einen Fehler gemacht oder einfach was falsch verstanden ?



Edit : Sorry, falsches Forum erwischt   :-[
« Letzte Änderung: 09.02.06 - 11:04:46 von Driri »

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Situationsabhängige Werte im $$Return
« Antwort #1 am: 09.02.06 - 01:03:30 »
Da das $$Return bei Dir dynamisch sein soll, müßtest Du ja auch ein berechnetes Feld dafür in der Maske haben.

$$Return über JS im <form> zu setzen, solltest Du niemals in Betracht ziehen. Nicht mal dran denken.

Du schreibst:
Zitat
Der Vorgesetzte kann nun den Antrag entweder über die URL oder über eine View in der Datenbank öffnen

Wenn man das Dokument (die Maske) direkt über einen URL aufruft, ist doch der Weg frei für einen URL-Parameter (z.B.: ...&direct&...)
Den setzt Du NUR im Falle des direkten Öffnens.
Beim Weg über die View würde man ihn eh verlieren, also läßt Du ihn da weg.

Und Dein $$Return berechnet sich notesseitig anhand der Existenz dieses Parameters, wenn vorhanden dann URL2, wenn nicht dann URL1

Gruß,
Uwe

Driri

  • Gast
Re: Situationsabhängige Werte im $$Return
« Antwort #2 am: 09.02.06 - 09:04:01 »
Aaah, danke. Auf die Idee bin ich noch gar nicht gekommen.

Super, das probiere ich gleich mal aus  :)

Driri

  • Gast
Re: Situationsabhängige Werte im $$Return
« Antwort #3 am: 09.02.06 - 09:38:47 »
Ich habe da noch eine Verständnisfrage oder evtl. auch ein Problem.

Ich habe die URL, die in der Mail mitgeliefert wird jetzt so angepaßt :

"http://server/dir/db.nsf/All/" & Cstr(doc.UniversalID) & "?EditDocument&key=direct"


Dann habe ich in der Maske ein Feld Query_String eingebaut und das $$Return berechnet sich je nach Inhalt des Query_String :

key := @Right(Query_String; "=");
url := @If(key="direct"; "[/"+DBPath+"/pageSubmit?OpenPage]"; "[/"+DBPath+"/pageSubmit2?OpenPage]");
url

Das funktioniert leider nicht. Ich lande immer im Else-Zweig.


Wenn ich mir den Inhalt des Query_String anschaue, dann sehe ich den Parameter dort auch nicht. Dort steht so etwas :

OpenForm&ParentUNID=7ECB69C02D26ECD0C12570220028BF24


Vermutlich war das mit dem Query_String die falsche Idee, aber wie bekomme ich sonst den URL-Parameter abgefangen ?

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Situationsabhängige Werte im $$Return
« Antwort #4 am: 09.02.06 - 09:58:46 »
Warum verwendest du nicht einfach @urlquerystring("Key")
anstatt das Feld mit @Right (blabla) zu parsen?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Driri

  • Gast
Re: Situationsabhängige Werte im $$Return
« Antwort #5 am: 09.02.06 - 11:04:32 »
Danke umi, das hat jetzt wunderbar funktioniert  ;D

Also war ich mit Query_String doch auf dem Holzweg.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz