Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 29.06.05 - 09:13:05

Titel: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 29.06.05 - 09:13:05
Hallo Forum,

in einer DB werden Attachments, URL-Links oder LN-Links als "Dokumente" in Views verwaltet. User erkennen nicht (sollen sie auch nicht), wie und wohin der Link sie EDV-technisch führt.

Eine neue Sorte von "Dokument" soll nun entstehen, in dem eine @Function gestartet wird. Dabei soll die Funktion des "Dokumentes" aus einer View so wie die anderen per Doppelklick gestartet werden, also nicht per Button o.ä..

Hat jemand dafür einen Ansatz?

Alexis
Titel: Re: Doppelklick auf Dokument startet @Formular
Beitrag von: diali am 29.06.05 - 09:17:53
im QueryOpen des Dokumentes kannst Du ein Script hinterlegen. Mit Continue = False verhinderst DU, dass das Dokument geöffnet wird und mit Evaluate kannst Du Formeln ausführen.
Titel: Re: Doppelklick auf Dokument startet @Formular
Beitrag von: ata am 29.06.05 - 09:59:20
@diali

Zitat
mit Evaluate kannst Du Formeln ausführen
... aber keine Frontend-Befehle - also @Command's gehen nicht...

ata
Titel: Re: Doppelklick auf Dokument startet @Formular
Beitrag von: Axel am 29.06.05 - 10:34:17
Hi,

was willst du denn damit erreichen? Unter Umständen hilft die die Maskeneigenschaft Auto-Start weiter.


Axel
Titel: Re: Doppelklick auf Dokument startet @Formular
Beitrag von: Alexis am 29.06.05 - 10:39:23
Hallo Axel,

ich will letztlich eine View in ein Frame eines Framesets laden. Natürlich könnte ich einen Viewlink in eine Maske packen (Start first document link), diese View öffnet dann aber im Standardnavigator.

Alexis
Titel: Re: Doppelklick auf Dokument startet @Formular
Beitrag von: Alexis am 29.06.05 - 10:43:30
Hallo,

Nachfrage: Warum bekommen ich beim folgenden Script die Fehlermeldung "Not a member" für den View-Aufruf?

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   Dim ws As NotesUIWorkspace
   Dim uidb As NotesDatabase   
   Set uidb = ws.currentDatabase
   Set ws = notesUIWorkspace.CurrentDatabase
   Call ws.OpenFrameSet( "MainFrameset" )
   Call ws.SetTargetFrame( "SubTopMenu" )
   Call ws.OpenPage( "Überschrift" )
   Call ws.SetTargetFrame( "ApplicationContent")
   Call uidb.OpenView( "Zielverfolgung",,True)   
End Sub

Alexis
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: koehlerbv am 29.06.05 - 10:49:15
Es müsste heissen:
Dim uidb As NotesUIDatabase

OpenView ist keine Methode der von Dir deklarierten NotesDatabase class.

Bernhard
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 29.06.05 - 11:06:27
Hallo Berhard,

sorry, mein Lapsus.

Nun bekomme ich "Object variable not set" ???

Alexis
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: koehlerbv am 29.06.05 - 11:22:01
Dann sind ja noch mehr Fehler drin, wie ich gerade sehe.

Es muss heissen:
Dim ws As New NotesUIWorkspace
Dim uidb as NotesUIDatabase
Set uidb = ws.CurrentDatabase

Bernhard
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 29.06.05 - 11:33:42
Hallo Forum,

OpenFrameSet ist nicht erlaubt im QueryOpen. Damit geht dieser Ansatz nicht.

Alexis
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: ata am 29.06.05 - 12:45:23
... und im PostOpen?

ata
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 29.06.05 - 13:26:30
Hallo ata,

Bingo!

Da funktioniert was.

Ich muss aber noch den Feinschliff machen, aber die Lösung scheint mein Problem zu lösen.

Danke!

Alexis
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 29.06.05 - 16:41:20
Hallo Forum,

ich mache noch einmal einen @Function - Ansatz:

mit:

@Command([OpenFrameset];"MainFrameSet");
@SetTargetFrame("SubTopMenu");
@Command([OpenPage];"TopLine Zielverfolgung");
@SetTargetFrame("ApplicationContent");
@Command([OpenView]; "(Zielverfolgung)");
@Command( [ViewRefreshFields] )

im PostOpen

wird die View korrekt im Frameset dargestellt. ABER, die betreffende Dokument-Maske bleibt natürlich offen und muß per Hand geschlossen werden. Kann man das Schließen programmtechnisch steuern? Also: Doppelklick auf Dokument, View öffnet im Frameset, Maske des Dokuments schließt automatisch.

Alexis


Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: TMC am 29.06.05 - 20:25:24
In Formel: @Command([CloseWindow]) (nicht [FileCloseWindow]), siehe Designerhilfe.

Ich denke damit sollte es klappen.

Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 30.06.05 - 09:11:40
@ TMC

leider ist das Ergebnis negativ: Das Fenster der Maske bleibt offen, jedoch wird die View aus dem Frame geworfen.

Alexis
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Axel am 30.06.05 - 09:19:07
Hi,

könnte es sein, dass du CloseWindow an der falschen Stelle eingefügt hast? CloseWindow wird sofort ausgeführt.

Wie sieht den dein Code jetzt aus?


Axel
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 30.06.05 - 09:46:27
Hallo Axel,

Danke für Eure Geduld!

der Code sieht ganz einfach aus:

@Command([OpenFrameset];"MainFrameSet");
@SetTargetFrame("SubTopMenu");
@Command([OpenPage];"TopLine Zielverfolgung");
@SetTargetFrame("ApplicationContent");
@Command([OpenView]; "(Zielverfolgung)");
@Command([CloseWindow])

Merkwürdig ist folgendes (siehe Screenshot):

Der Tab des Dokumentes (Test) scheint angewählt, der Fensterinhalt ist jedoch der Frameset mit entsprechender View. Klicke ich auf den Tab Test bekomme ich die Maske dargestellt, die ich ja schließen will.

Irgendwie scheine ich LN mit meiner Idee zu vergewaltigen.

Alexis





Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Axel am 30.06.05 - 10:24:27
Hi,

wenn du CloseWindow ans Ende setzt, dann ist klar warum er die Maske nicht schließt.

Ich würde das mal an den Anfang setzen. Dann sollte die Maske geschlossen werden und dann die Rahmengruppe mit der Ansicht geöffnet.


Axel
 
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: Alexis am 30.06.05 - 10:32:47
Hallo Axel,

schon probiert: Fenster bleibt offen, jedoch wird jetzt die View nicht mehr aus dem Frame geworfen. Immerhin!

So einfach geht es leider nicht.

Hat jemand noch 'ne Idee?

alexis
Titel: Re: Doppelklick auf Dokument startet @Formular oder Script
Beitrag von: TMC am 30.06.05 - 20:28:05
Hat jemand noch 'ne Idee?

Grundsätzlich lässt sich Dein Vorhaben auch per LS lösen. Dazu würde ich hier jetzt tendieren.

Vorteil hier gegenüber Formelsprache:
Du kannst das zu schließende Objekt genau definieren (NotesUIDocument).
Und mit der Close-Methode dann schließen.