Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: RvM am 06.08.03 - 11:47:19

Titel: Ansicht per Script wechseln
Beitrag von: RvM am 06.08.03 - 11:47:19
Ich möchte gerne im Client per Script  nach doc.close in eine andere Ansicht wechseln.
Geht das??
Titel: Re:Ansicht per Script wechseln
Beitrag von: ata am 06.08.03 - 13:01:54
... eine Ansicht geht mit Script so weit ich weiß nicht - aber ein Frameset kann man per Scriipt öffnen => NotesUIWorkspace.OpenFrameset...

ata
Titel: Re:Ansicht per Script wechseln
Beitrag von: Glombi am 06.08.03 - 13:27:25
Es geht mit

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

Andreas
Titel: Re:Ansicht per Script wechseln
Beitrag von: ata am 06.08.03 - 13:29:53
... oh  ::) 8) ::)

ata
Titel: Was ist denn dann falsch?
Beitrag von: RvM am 06.08.03 - 13:36:20
Mein Script (Auzug) sieht so aus
   Dim v As NotesUIDatabase
   Dim oldDoc As NotesDocument
   Dim newDoc As NotesDocument
   Dim thisDoc As NotesUIDocument
   
   Set db = s.CurrentDatabase
   Set thisDoc = ws.CurrentDocument
   Set oldDoc = ws.CurrentDocument.Document
   Set newDoc = OldDoc.CopyToDatabase(db)
   ...
   Call thisdoc.Close
   Call v.OpenView("Kopien")


Ich bekomme immer "Object variable not set"
Titel: Re:Ansicht per Script wechseln
Beitrag von: ata am 06.08.03 - 13:46:00
... die db muß aus dem Frontend abgeleitet werden - du verwendest Backend

ata
Titel: Re:Ansicht per Script wechseln
Beitrag von: Glombi am 06.08.03 - 13:48:36
Dim ws as NotesUIWorkspace
Dim v As NotesUIDatabase

   Dim oldDoc As NotesDocument
   Dim newDoc As NotesDocument
   Dim thisDoc As NotesUIDocument
   
Set ws = New NotesUIWorkspace
Set v = ws.CurrentDatabase

   Set db = s.CurrentDatabase
   Set thisDoc = ws.CurrentDocument
   Set oldDoc = ws.CurrentDocument.Document
   Set newDoc = OldDoc.CopyToDatabase(db)
   ...
   Call thisdoc.Close
   Call v.OpenView("Kopien")


Das sollte gehen.

Andreas
Titel: DANKE
Beitrag von: RvM am 06.08.03 - 13:51:56
das war's!!
Da siehr man halt, wo ich noch Schwächen habe. ;)
Titel: Re:Ansicht per Script wechseln
Beitrag von: RvM am 06.08.03 - 15:28:21
 :(
Die genannte Lösung ist zwar okay - aber es wird diese Ansicht in einem neuen Fenster geöffnet - nichr die schönste Lösung.
Titel: Re:Ansicht per Script wechseln
Beitrag von: Glombi am 06.08.03 - 15:40:37
Hi,
hast Du den parameter "New instance" beachtet? versuch mal

Call v.OpenView("Kopien","",False)

Andreas
Titel: Re:Ansicht per Script wechseln
Beitrag von: RvM am 06.08.03 - 15:43:14
Danke, aber ändert nix :-\
Titel: Re:Ansicht per Script wechseln
Beitrag von: Glombi am 06.08.03 - 15:49:46
Hi,
was meinst mit neuem Fenster?

Wenn ich
Call v.OpenView("Kopien","",False)
verwende, öffnet er mit die View nicht ein 2. Mal.

Evtl. meinst Du aber was anderes?

Andreas
Titel: Re:Ansicht per Script wechseln
Beitrag von: RvM am 06.08.03 - 15:52:14
Der Notesclient öffnet die DB nocmals in einem neuen Fenster mit der Ansicht "kopien". ich habe oben im Reiter der Arbeitsfläche die DB 2mal.
Titel: Re:Ansicht per Script wechseln
Beitrag von: Glombi am 06.08.03 - 16:09:01
Ok,
jetzt weiß ich was Du meinst. Leider gibt es in Script keine Methode, eine Ansicht zu schließen (warum eigentlich nicht ?).

Es geht aber mit der Formelsprache :-)

Einfach folgende Formel in das QueryClose der Maske schreiben:

_ViewOld := @If(@Elements(@ViewTitle) > 1;@Subset(@ViewTitle;-1);@ViewTitle);
@If(
   _ViewOld != "";
      @Do(
         @PostedCommand([OpenView];_ViewOld);
         @PostedCommand([FileCloseWindow]);
         @PostedCommand([OpenView];"Kopien")
      );
   @Command([OpenView];"Kopien")
)


Ggf. musst Du das ganze noch durch ein Flag-Feld steuern, wenn das nicht jedesmal beim Schließen gemacht werden soll.

In dem Script dann das
  Call v.OpenView("Kopien")
rausnehmen.

Andreas
Titel: Re:Ansicht per Script wechseln
Beitrag von: RvM am 06.08.03 - 16:17:47
THX, ich werd's testen.
Ja, ich weiß warum ich so oft wie möglich Formeln einsetze  ;)