Hallo ihr....
Auf der Suche nach einer Lösung für mein Problem bin ich auf diesen Fred gestoßen.
Bei mir schaut es ähnlich aus.
Ich habe in meiner DB eine Rahmengruppe mit 2 Rahmen. Im ersten Rahem ist eine Seite mit einer Aktion bzw. Gliederung. Wenn ich dann auf die Aktion clicke, soll im 2ten Rahmen eine Ansicht einer anderen DB aufgehen. Es handelt sich dabei um die ($Calendar) verschiedener MailDBs.
Das ganze sollte aber flexibel sein. Ich habe also einer Ansicht, inm der in Personendokumenten, in denen Pfad und Server der MailDB eingetragen ist. Der User sollte also auf den Button clicken, dann möchte ich ihm eine Auswahl anbieten, aus der er eine MailDB auswählen kann und dann sollte sie aufgehen.
Mit Script hab ich es leider nicht hinbekommen, da immer die DB in einem neuen Fenster aufgeht.
Call ws.SetTargetFrame("MK2")
Call ws.OpenDatabase( doc.hms(0), doc.Pfad(0), "Calendar", , , True )
geht nicht
strUrl = "notes://" + server + "/" + pfad + "/($Calendar)?OpenView"
Call ws.SetTargetFrame("MK2")
Call ws.UrlOpen(strUrl)
geht nicht
Dann habe ich Ingos Lösung versucht
_Pfad1 := @PickList( [Custom] : [Single] ; @DbName ; "Ansicht" ; "Kalender öffnen"; "Welchen Kalender möchten sie öffnen?" ; 4);
_Pfad2 := @ReplaceSubstring( _Pfad1 ; "\\" ; "/" );
_URLString := "notes://" + @If( @Right( _Pfad2 ; 4 ) = ".nsf" ; _Pfad2 ; _Pfad2 + ".nsf") + "/($Calendar)?OpenView";
_URLString
Klappt aber auch nicht. Da motzt notes immer, dass das Ergebnis der Formel Text sein soll. Wenn ich dann ein @Text um die Picklist pack, ist "eine Adresse von Formeln mit Seiteneffeckten in diesem Kontext nicht erlaubt". (Hab ich vorher noch nie gesehen diese komiche Meldung)
Hat jemand vielleicht eine Idee, wie ich die Ansichten sonst noch aufbekommen könnte, bzw. was ich falsch mach?
lG
Der Alias bringt leider keine verbesserung mit sich.
Wenn ich eine Berechnete Url hernehme, kommt das was ich schon vorher beschrieben habe...das Ergebnis der Formel Text soll sein. Wenn ich dann ein @Text um die Picklist pack, ist "eine Adresse von Formeln mit Seiteneffeckten in diesem Kontext nicht erlaubt
Code für die Url:
_Pfad1 := @PickList( [Custom] : [Single] ; @DbName ; "Ansicht" ; "Kalender öffnen"; "Welchen Kalender möchten sie öffnen?" ; 4);
_Pfad2 := @ReplaceSubstring( _Pfad1 ; "\\" ; "/" );
_URLString := "notes://" + @If( @Right( _Pfad2 ; 4 ) = ".nsf" ; _Pfad2 ; _Pfad2 + ".nsf") + "/Calendar?OpenView";
_URLString
(in der Ansicht steht in der 4ten Spalte Mailserver + "/" + Pfad)
Wen ich das ganze als Aktion verpacke, geht der Kalender zwar auf, aber nicht in dem gewünschten Frame, sondern als neues Fenster. Das ist der Code für die Aktion:
_Pfad1 := @PickList( [Custom] : [Single] ; @DbName ; "Ansicht" ; "Kalender öffnen"; "Welchen Kalender möchten sie öffnen?" ; 4);
_Pfad2 := @ReplaceSubstring( _Pfad1 ; "\\" ; "/" );
_URLString := "notes://" + @If( @Right( _Pfad2 ; 4 ) = ".nsf" ; _Pfad2 ; _Pfad2 + ".nsf") + "/Calendar?OpenView";
@SetTargetFrame( "Mk2" );
@URLOpen(_URLString)
Blödes Notesverhalten :P
lG
-daniel
Ich arbeite jetzt mit Profildokumenten.
Also ich habe als erstes habe ich eine leere Page. In dem Rahmen, in der der Kalender angezeigt werden soll habe ich eine Berechnete Url angegeben. Die Formel
_x := @GetProfileField( "Kalender" ; "Mk2" ; @UserName);
_Server := @Name([CN];@Subset( @DbName ; 1 ));
_Pfad := @ReplaceSubstring( @Subset(@DbName ; -1 ) ; "\\" ; "/" );
_Seite := "notes://" + _Server + "/" + _Pfad + "/Leer?OpenPage";
@If(_x = "" ; _Seite ; _x)
zeigt die leere Seite an, wenn im Profildokument nichts anderes drin steht.
In den Personendokumenten ein berechnetes Feld mitfolgendem Code erstellt:
_Pfad1 := @Name([CN];MailServer) + "/" + MailPfad;
_Pfad2 := @ReplaceSubstring( _Pfad1 ; "\\" ; "/" );
_URLString := "notes://" + @If( @Right( _Pfad2 ; 4 ) = ".nsf" ; _Pfad2 ; _Pfad2 + ".nsf") + "/Calendar?OpenView";
_URLString
Wenn der User jetzt in einem anderen Rahmen auf eine Ation clickt. schreib ich mit folgender Formel die Url des gewählten Dokumentes in das Profildokument und berechne das Fenster neu.
_Pfad := @PickList( [Custom] : [Single] ; @DbName ; "aVorstand" ; "Kalender öffnen"; "Welchen Kalender möchten sie öffnen?" ; 4);
@SetProfileField( "Kalender" ; "Mk2" ; _Pfad );
@Command([ReloadWindow])
So wird dann der Kalender im Fenster angezeigt.
Mir ist klar, dass der Weg etwas umständlich ist, aber er funzt.
lG