Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 05.12.06 - 12:22:00

Titel: Dokument soll direkt mit @Formel starten
Beitrag von: Alexis am 05.12.06 - 12:22:00
Hallo Forum,

mit einem speziellen Dokumententyp möchte ich durch Doppelklick auf das Dokument in einer View erreichen, dass eine @Formel durchlaufen wird. Dieses entspräche dem Einfügen eines Buttons/Hotspots in dem Dokument mit entsprechender @Formel.

Ich möchte aber, dass das Dokument nicht geöffnet wird sondern sofort die @Formel ausgeführt wird.

Gibt es dafür einen Ansatz? In Auto Launch sehe ich da keine Möglichkeit.

Alexis
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: MadMetzger am 05.12.06 - 12:30:50
Ich weiß nicht, ob das so sinnig ist. Aber ich denke mal, dass sich das machen ließe, wenn man bestimmten Code im QueryOpen hinterlegt. Das hat aber zur Folge, dass dies immer durchlaufen würde. Hier müsste man dann verschiedene Dinge überprüfen, falls das Dokument doch geöffnet werden soll. Warum machst du das nicht über eine Ansichtsaktion?
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: dirk_2909 am 05.12.06 - 12:53:29
Habe mal ein wenig rumgespielt.

Folgende Formel im PostOpen:
Code
@Prompt( [OK] ; "Hallo Welt" ; "Es würde jetzt die Formel ausgeführt..." ) ;
@Command( [FileCloseWindow] )

Der Prompt wird ausgeführt. Das Doc aber nicht geschlossen  >:(

Folegende Formel in QueryOpen eingefügt:
Code
@Prompt( [OK] ; "Hallo Welt" ; "Es würde jetzt die Formel ausgeführt..." ) ;
@Command( [FileCloseWindow] )

Der Prompt wird ausgeführt. dann "NSD is Running "  >:(  :(


Mach es lieber mit LS.

Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: MadMetzger am 05.12.06 - 13:03:15
Mit LS ist natürlich besser in dem Fall, wenn es über die Maske passieren soll... Aber ich tendiere trotzdem eher zur Ansichtsaktion. Wenn es nur darum gehen soll Felder zu ändern oder so, dann muss das Dokument ja nicht geöffnet werden...
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: Alexis am 05.12.06 - 13:14:17
Danke für Eure Tipps.

Hintergrund ist, dass ich per Doppelklick eine bestimmte View in einem Frameset öffnen will. Ein variabler LS - Code im QueryOpen scheint wohl die Lösung zu sein. Ich versuch mich mal dran.

Alexis
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: Alexis am 05.12.06 - 15:23:00
Hallo Forum,

ich sehe auch mit Script keine Lösung:

Code
Dim workspace As New NotesUIWorkspace
Call workspace.OpenframeSet("MainFrame")
Call workspace.SetTargetFrame("Application")
Dim uidb As NotesUIDatabase
Set uidb = workspace.CurrentDatabase
Call uidb.OpenView("(Ziele)", , True)

Der Frameset wird aufgemacht, dann in einem neuen Tab die View mit Standardnavigator und dann auch noch die Maske selbst in einem weiteren Tab.

Fazit: Ich gehe über den Weg Dokument mit Button und @Formel.

Alexis
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: MadMetzger am 05.12.06 - 15:49:57
Setz' doch vielleicht mal im QueryOpen ein "continue = false" dann wird das Öffnen abgebrochen.
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: Alexis am 05.12.06 - 16:18:03
Leider  :'(

Trotzdem Danke

Alexis
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: Glombi am 05.12.06 - 16:52:38
So kann das auch alles nichts werden.

keine Standardrahmennamen wie NotesView und NotesNavigation
Wenn man andere Namen verwendet, zerreist es halt die Datenbank. Das kann man gar nicht oft genug sagen !!!
Dadruch kommt das
Zitat
Der Frameset wird aufgemacht, dann in einem neuen Tab die View mit Standardnavigator
zustande.


Zitat
und dann auch noch die Maske selbst in einem weiteren Tab
Wo ist das
Continue = false
im Queryopen ?

bzw.
call Source.Close
im Postopen ?

Andreas
Titel: Re: Dokument soll direkt mit @Formel starten
Beitrag von: Alexis am 07.12.06 - 08:37:48
Hallo Forum, hallo Andreas,

ich habe das Problem nun so gelöst, dass im QueryOpen des Dokumentes der Name eines Framsets mitgegeben wird, in dem die gewünschte View bereits im gewünschten Frame eingetragen ist.

Code
Sub Postopen(Source As Notesuidocument)
	Dim workspace As New NotesUIWorkspace
	Dim FrameSetName As String
	If source.EditMode = False Then
		FrameSetName = source.FieldGetText("Fname")
		Call workspace.OpenFrameSet(FrameSetName)
		Call Source.Close
	End If
End Sub

@Andreas Hinweis

Zitat
keine Standardrahmennamen wie NotesView und NotesNavigation
Wenn man andere Namen verwendet, zerreist es halt die Datenbank

habe ich leider nicht verstanden, auch wenn genau der Effekt auftritt.

Alexis