Domino 9 und frühere Versionen > ND7: Entwicklung
gewünschte Ansicht wird nicht geöffnet
Hatschi:
Hallo,
mein Script funktioniert nicht wie gewünscht.
Ich habe ein Doklink in einem Dokument. Das verlinkte Dokument möchte ich aber nicht öffnen, sondern eine bestimmte Ansicht. Dabei soll der Cursor aber auf das verlinkte Dokument positioniert werden.
Bei mir wird aber immer nur die Vorgabeansicht geöffnet, und nicht die von mir gewünschte Ansicht. Ich habe schon versucht die Ansicht über ihren Namen zu öffnen, als auch über den Alias. Beides funktioniert nicht.
Beide Versuche mit OpenDatabase und OpenView öffnen nur die Vorgabeview.
Hat jemand eine Idee wie ich im Frontend die View wechsel und auf das verlinkte Dokument positioniere?
Hier noch mein Script. Vielen Dank für Anregungen.
Sub Initialize
'Datenbank im Doklink öffnen, und View positionieren
Dim DbHier As NotesDatabase
Dim DocHier As NotesDocument
Dim RtItemHier As notesrichtextitem
Dim NaviHier As notesrichtextnavigator
Dim DoklinkHier As Variant
Dim uiws As notesuiworkspace
Dim uidb As NotesUIDatabase
Dim uiview As notesuiview
Dim uidoc As notesuidocument
Dim db As notesdatabase
Dim doc As NotesDocument
'offenes Dokument holen
Set uiws = New NotesUIWorkspace
Set uidoc = uiws.CurrentDocument
Set DocHier = uidoc.Document
'Doklink holen
Set RtItemHier=DocHier.GetFirstItem("Notes_Link")
Set NaviHier=RtitemHier.createnavigator
If NaviHier.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
Set DoklinkHier = NaviHier.GetElement
'verlinkte Datenbank holen
Set db = New notesdatabase ("","")
Call db.OpenByReplicaID(DokLinkHier.serverhint, DokLinkHier.DBReplicaID )
'verlinktes Dokument holen
Set Doc=db.GetDocumentByUNID(DoklinkHier.docunid)
'verlinkte Datenbank im Frontend öffnen
Call uiws.OpenDatabase(db.Server, db.FilePath, "SortiertA1")
Print "DB geöffnet. Aktuelle View: " + uiws.CurrentView.View.Name 'Ist leider die Vorgabeview
'weil die gewünschte View nicht geöffnet wird ein weiterer Versuch
Set uidb=uiws.CurrentDatabase
Print uidb.Database.FilePath 'es ist wie gewünscht die verlinkte Datenbank
Call uidb.OpenView("SortiertA1")
Print "View gewechselt auf " + uiws.CurrentView.View.Name 'leider immer noch die Vorgabeview
'positionieren auf das verlinkte Dokument
Set uiview=uiws.CurrentView
Call uiview.SelectDocument(doc) 'es wird auch nicht auf das gewünschte Dokument positioniert
End If
End Sub
ascabg:
Hallo,
Nur mal so ein Frage.
Durch was fuer eine Aktion loest Du denn Dein Script aus?
Wenn Der User nur auf den Dok-Link klickt dann wird Dein Script doch nicht ausgefuehrt und Notes mach genau das was in einem solchen Fall immer passiert.
Dok-Link = oeffne das verlinkte Dokument.
Andreas
Hatschi:
Hallo Andreas,
das ist ein Agent, der von dem geöffneten Dokument (das mit dem Doklink), als Aktion gestartet wird.
Bernd
pete_bla:
Hi Andreas,
der call 'Notesuiworkspace.OpenDatabase:
--- Zitat von: Hatschi am 23.07.09 - 10:56:31 --- Call uiws.OpenDatabase(db.Server, db.FilePath, "SortiertA1")
Print "DB geöffnet. Aktuelle View: " + uiws.CurrentView.View.Name 'Ist leider die Vorgabeview
--- Ende Zitat ---
ist etwas 'Fatal' in Lotus Notes, kommentier das mal aus!
Hintergrund:
Ich habs bissher auch noch nie geschafft, damit das UI-Database Objekt im Script zurückzubekommen,
noch schlimmer, er verweigert dir auch noch weitere funkionen auf die UIDatabase, die du öffnen wolltest.
Und das geht auch oft nicht, wie gewünscht,
--- Zitat von: Hatschi am 23.07.09 - 10:56:31 --- Set uiview=uiws.CurrentView
Call uiview.SelectDocument(doc) 'es wird auch nicht auf das gewünschte Dokument positioniert
--- Ende Zitat ---
da damit nur eine Markierung, nicht aber deine "Auswahbox" (wie du es möchtest) in der UI des NotesClient gesetzt wird.
Deine Variante geht dann eigentlich nur über den NotesUIView die NotesUIDatabase, bei der du als 'Select' noch anhand der ersten sortierten Spalte das Dokument 'Suchen' must.
(bereits im Call NotesUIWorkspace.OpenView(....) -> schau in der help)
Call notesUIWorkspace.OpenDatabase( server$, file$, view$, key$, newInstance, temp )
Gruss, Pete(r)
Nachtrag, Korrektur: 23.7.09
hab das object NotesUIDatabase mit 'view$' und 'key$' gemeint, aber leider NotesUIView geschrieben, - man wird eben nicht jünger...
ascabg:
Hi Pete(r),
Nicht mein Problem sonder das von Bernd (Hatschi).
Und eine Auswahlbox moechte Bernd glaube ich auch nicht, sonder er moechte "nur" die entsrprechende View oeffnen und den "Markierungsbalken" auf das betreffende Dokument setzen.
Andreas
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln