Autor Thema: @setviewinfo und frames. Oder die spinnen die Römer (lang)  (Gelesen 1779 mal)

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Hat schon mal jemand probiert eine Ansicht von vorne herein gefiltert zu öffnen, wenn diese Ansicht die Default Ansicht in einem Frame ist?

Wenn ja, hat das schon mal jemand hingekriegt, das es funktioniert?

Ich krieg das nämlich nicht hin.

folgendes Szenario:

Ich hab eine Aktion in der ich ein neues Frameset aufrufe. In diesem Frameset ist ein Default View definiert der nur die dem  Benutzer zugeordneten Dokumente anzeigen soll. Nein, nicht mit Leser und Autorenfeldern. Ganz bewusst nicht weil die Steuerung der DB es nämlich zulässt das Dingenskirchens auch komplett offen zu betreiben. Dann wäre es ja einfach.

Linkes Frame ist die Navigation, rechtes die entsprechenden Ansichten.

Hinter den Navi Links versteckt sich jeweils ein:

@SetTargetFrame("NotesView");
@Command([OpenView];"MineOpenByDate");
@SetViewInfo([SetViewFilter];@Name([CN];@UserName);"Username";1)

Das funktioniert auch richtig. Klickt der Anwender auf den Link wird die Ansicht richtig aufgemacht und gleich gefiltert.

Geh ich jetzt aber von einem anderen Frame mit :

_defaultNewFrame := @UpperCase(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; "AlwaysOpenNewNavigationFrame" ; 2 ));
@If(_defaultnewFrame!="YES";@Do(@SetTargetFrame("_top");@Command([OpenFrameset]; "FS-MYTICKETS"));@Do(@Command([OpenFrameset]; "FS-MYTICKETS")))

auf diesen Frame in dem die gefilterten Ansichten angezeigt werden sollen, dann wird die im Frame definierte Ansicht mit allen Dokumenten aufgemacht. Ist ja auch irgendwie logisch weil er hier ja schließlich noch nicht weis das er filtern soll.

OK Anpassen und so schreiben:

@If(_defaultnewFrame!="YES";@Do(@SetTargetFrame("_top");@Command([OpenFrameset]; "FS-MYTICKETS");@SetViewInfo([SetViewFilter];@Name([CN];@UserName);"Username";1));@Do(@Command([OpenFrameset]; "FS-MYTICKETS");@SetViewInfo([SetViewFilter];@Name([CN];@UserName);"Username";1)))

Meckert er zwar nicht an aber tun tut er auch nix.  ::)

Nachgedacht und rausgefunden das dieses Verhalten ja irgendwie logisch sein muss denn zu diesem Zeitpunkt hat er ja den View den er da filtern soll noch nicht. (achja, anders herum geschrieben also erst @setview.... und dann @Command bringt das gleiche Ergebnis).  ???

Gut also da wieder rausgenommen den Code und dann schaun wir mal was in der View denn so geht. Schließlich will ich ja das der Filter IMMER greift.

Also erst einmal im SELECT Statement. Ergebnis. Geht nicht. Bringt einen Fehler "Funktion ist in diesem Kontext nicht erlaubt". Hmm war ja nur ein Versuch und ist irgendwie logisch.   :P
Probieren wir halt das Queryopen. Da gibt es den gleichen Effekt und im Postopen Event auch.  :-[

 :( Gesamtergebnis: Das scheint nicht zu funktionieren. Man kann eine Ansicht nicht per "Default" mit @SetViewFilter behandeln man muss über eine Action gehen.

 ::) Resümee:
Sollte das wirklich wahr sein und nicht einer von euch noch mit irgendeiner grandiosen Idee aufwarten, dann bekommt IBM von mir die Goldene Zitrone mit Stern und Diamanten, für die dämlichste (undurchdachteste) Implementation eines Features in einer Programmierumgebung, die ich jemals gesehen habe. Denkt denn da drüben keiner auch nur annähernd mal nach???
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

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: @setviewinfo und frames. Oder die spinnen die Römer (lang)
« Antwort #1 am: 11.05.05 - 09:34:31 »
Evtl. noch den View explizit neu laden in den Frame, bevor Du den View filterst.?

Code
@If(_defaultnewFrame!="YES";
@Do(@SetTargetFrame("_top");@Command([OpenFrameset]; "FS-MYTICKETS");@SetTargetFrame("NotesView");
@Command([OpenView];"MineOpenByDate");
@SetViewInfo([SetViewFilter];@Name([CN];@UserName);"Username";1));

@Do(@Command([OpenFrameset]; "FS-MYTICKETS");@SetViewInfo([SetViewFilter];@Name([CN];@UserName);"Username";1))) 
ohne gewähr :-)
Gruss

Urs

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

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: @setviewinfo und frames. Oder die spinnen die Römer (lang)
« Antwort #2 am: 11.05.05 - 10:10:40 »
 :-* :-* :-*

Und einen dicken fetten Orden. Jetzt funktionierts. Das ist zwar von hinten durch die Brust ins Auge aber was solls.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

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: @setviewinfo und frames. Oder die spinnen die Römer (lang)
« Antwort #3 am: 11.05.05 - 10:25:13 »
Krass, hätte ich nicht erwartet :-)
Gruss

Urs

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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz