Heftiges Frameset problem (reines Notes kein WEB)

  • Hi Fangemeinde,


    ich habe hier ein extremheftiges Problem und Hoffe Ihr habt das schon mal gelöst.


    Ich beschreibe mal das workaround.


    Ich habe eine Datenbank in der in einem Frameset eine SEITE geöffnet wird. Das Frameset besteht nur aus dieser einen Seite.



    In dem Frameset ist eine Gliederung mit verschiedenen Buttons


    Klickt man auf einen Button wird z.B. volgender Code ausgeführt.


    @SetTargetFrame("_top");
    @Command([OpenFrameset];"R_HOME")


    Im Gleichen Fenster wird dann die zweigeteilte Rahmengruppe R_HOME aufgerufen. (Das funktioniert jetzt schon seit ewigkeiten richtig gut.)


    so nun wollte der Kunde auf dieser Startseite individuelle Einstiegspunkte haben. Als jeder User kann sich selber festlegen welche ansichten er sehen will und mit einem Klick sollen diese geöffnet werden. Ich habe lange überlegt wie ich das am elegantesten hinbekomme. Im endeffekt habeich das wie folgt gelößt. Ich habe eine Maske gebaut in der ein User (schlüssel ist sein USERNAME) eine Ansicht hinterlegen kann. Diese werden dann in einer eingebetteten ansicht mit gewählter Kategorie angezeigt. (Ihr wisst was ich meine oder??)


    Wenn man dann auf so ein dokument doppelklickt, dann führt die Ansicht Aktion folgendes aus.


    Sub Queryopendocument(Source As Notesuiview, Continue As Variant)
    Dim ws As New notesuiworkspace
    Dim doc As notesdocument
    Dim coll As notesdocumentcollection
    Dim uidb As notesuidatabase

    Set coll = Source.Documents
    Set doc = coll.getfirstdocument
    Set uidb = ws.currentdatabase

    Call ws.SetTargetFrame("_top")
    Call ws.OpenFrameset("R_PERSOENLICH")
    Call ws.SetTargetFrame("RECHTS")
    Call UIDb.OpenView(doc.VERKNUEPFUNG(0))

    continue=False
    End Sub


    Das geht auch ganz gut !! NUR gibt es da ein Problem. In der Formelsprache wird das im GLEICHEN Fenster geöffnet. (So soll es sein). Im Script wird aber, obwohl Call ws.SetTargetFrame("_top") drin steht immer ein neues Fenster geöffnet. Das soll SO NICHT SEIN. Wenn ich das genau so unter R6 ausführe, bekomme ich sogar eine NSD zu sehen und Notes schmiert ab.


    nehme ich das SettargetFrame raus. dann gehts auch unter R6 ohne Probleme halt nur mit dem Bug im das es im neuen Fenster geöffnet wird.


    So ich bin jetzt mit meinem Latain am ende und weiss nicht mehr weiter. Habt Ihr eine Zündende Idee was ich noch machen kann. Wäre echt wichtig !!! DANKE

  • notesUIDatabase.OpenView( viewName$ [, key$][, newinstance] [,replaceView] )


    newinstance
    Boolean. Optional. True to open the view in a new window if it is already open. False (default) to give focus to the already open view.


    replaceView
    Boolean. Optional. True to replace a different open view in its window. Otherwise, opens the view in a new window. You cannot replace the view you are in.



    ...vielleicht hilft das ja weiter

    [size=x-small]
    Computer sind da um zu rechnen!
    Nicht um Ausreden wie: "Ich kann nicht durch Null teilen!", auf den Bildschirm zu schreiben.
    [/size]

  • das kommt mir irgendwie bekannt vor ... http://www.eknori.de/home/detail.php?nr=1237&kategorie=home


    Ersetze mal den ButtonCode


    @SetTargetFrame("_top");
    @Command([OpenFrameset];"R_HOME")



    durch


    @SetTargetFrame("_top");
    @Command([CloseWindow]);
    @Command([OpenFrameset];"R_HOME")


    Wenn das auch nicht funktioniert, musst du dir was ausdenken, wie du einen ähnlichen Effekt in deinem ScriptCode hinbekommst.


    Auch dort ist mit Sicherheit das


    Call ws.SetTargetFrame("_top") das Problem. Glaub mir, ich habe genug RBODs im Zusammenhang mit SetTargetFrame("_top") gesehen ...

  • Sorry ich hoffe ich hab mich nicht falsch ausgedrückt. Aber der FORMEL Code der funktioniert.


    Nur im Script code gibts mega Probleme. der will nicht so wie ich will.


    Ich habe aber jetzt erstmal eine schlichte Lösung gefunden.


    Ich habe aus der Seite eine Maske gemacht. Dann habe ich dort ein Feld eingebracht (kombinationsfeld) das liest jetzt alle Ansichten des Users ein und der User kann sich eine per Klick auswählen. Danach muss er auf eine Schaltfläche klicken. Dadurch wird dann die Datenbank mit der richtigen ansicht geöffnet. Nicht so schick wie ich es haben wollte aber es läuft erstmal.


    Manchmal macht mich Notes echt fertig. !!!


    Falls Ihr noch eine Idee habt, wäre ich immernoch an einer Lösung interessiert !!

  • Wenn ich mich nicht täusche, werden die HTML-Ziele _top, _self, _parent und _blank im Client gar nicht unterstützt. Ich hab's zwar auf die Schnelle in der (deutschen) Hilfe nicht gefunden, aber ich meine, es kommt so in den offiziellen Trainings vor. Von daher wäre es schon ein Glück, dass es überhaupt mit Formelsprache geht.


    Ah, hab es gerade auch in der Designer-Hilfe gefunden. In der deutschen Version heißt das Dokument "Rahmen mit Inhalt füllen".


    Wenn es aber nun schonmal in Formelsprache geht, dann könntest du ja mal das böse alte Evaluate versuchen.

  • hab ich schon !! Aber das ist sooooo gemein zumir das es DIESEN Befehl nicht ausführt.


    Ich lasse das jetzt so wie es ist. und Ärgere mich ein bisschen, als nochmal alles neu zu machen.