Autor Thema: gewünschte Ansicht wird nicht geöffnet  (Gelesen 2805 mal)

Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
gewünschte Ansicht wird nicht geöffnet
« am: 23.07.09 - 10:56:31 »
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

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #1 am: 23.07.09 - 11:06:50 »
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

Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #2 am: 23.07.09 - 11:12:44 »
Hallo Andreas,

das ist ein Agent, der von dem geöffneten Dokument (das mit dem Doklink), als Aktion gestartet wird.

Bernd

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #3 am: 23.07.09 - 11:21:48 »
Hi Andreas,

der call 'Notesuiworkspace.OpenDatabase:
      Call uiws.OpenDatabase(db.Server, db.FilePath, "SortiertA1")
      Print "DB geöffnet. Aktuelle View: " + uiws.CurrentView.View.Name 'Ist leider die Vorgabeview
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,
      Set uiview=uiws.CurrentView
      Call uiview.SelectDocument(doc) 'es wird auch nicht auf das gewünschte Dokument positioniert
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...
« Letzte Änderung: 23.07.09 - 12:41:31 von pete_bla »
pete(r)

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #4 am: 23.07.09 - 11:30:58 »
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
« Letzte Änderung: 23.07.09 - 11:59:59 von ascabg »

Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #5 am: 23.07.09 - 11:54:53 »
Hallo Pete(r),

das auskommentieren von
  Call uiws.OpenDatabase(db.Server, db.FilePath, "SortiertA1")
geht doch nicht, weil ich es doch brauche um die Datenbank im Frontend zu öffnen. Oder wie kann ich die Datenbank sonst öffnen?

Danke für den Hinweis, das ich zumindest nicht alleine mit dem uiws.OpenDatabase da stehe. Das scheint ja dann ein Feature von Notes zu sein.

Ok, dann kann ich den
Call uiview.SelectDocument(doc)
ebenfalls vergessen, wenn er den Cursor nicht zum gewünschten Dokument positioniert.

Mit deinem letzten Hinweis "(bereits im Call NotesUIWorkspace.OpenView(....) -> schau in der help)" meintest du bestimmt den Call notesUIWorkspace.OpenDatabase( server$, file$, view$, key$, newInstance, temp ).
Da habe ich aber meine Probleme mit, weil die Ansicht 5 kategorisierte Spalten hat. Die Hilfe verstehe ich so, daß nur die erste Kategorie berücksichtigt wird. Und genau diese Klickerei durch die 5 Kategorien sind es ja die ich weg haben möchte.
Oder kann ich die anderen Kategorien als Array oder Liste angeben?

Bernd



Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #6 am: 23.07.09 - 11:57:44 »
Hallo Andreas,

du hast Recht. Ich möchte nur den Markierungsbalken positionieren und mir die Klickerei durch 5 Kategorien vereinfachen.

Bernd

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #7 am: 23.07.09 - 12:34:49 »
Hi Bernd,

Ja das meinte ich,
Mit deinem letzten Hinweis "(bereits im Call NotesUIWorkspace.OpenView(....) -> schau in der help)" meintest du bestimmt den Call notesUIWorkspace.OpenDatabase( server$, file$, view$, key$, newInstance, temp ).

erste 'sortierte Spalte' geht, aber leider nicht mehrere kategorisierte Spalten: (die ich irgendwie schon funktional gehabt hätte)
Da habe ich aber meine Probleme mit, weil die Ansicht 5 kategorisierte Spalten hat. Die Hilfe verstehe ich so, daß nur die erste Kategorie berücksichtigt wird. Und genau diese Klickerei durch die 5 Kategorien sind es ja die ich weg haben möchte.
Oder kann ich die anderen Kategorien als Array oder Liste angeben?
Einziges was mir da noch als Krücke einfällt, dass du in der ziel-Ansicht eine Spalte, mit der primären Sortierung einbauen könntest, auf die Du per Key referenzierst, aber das könnte auch nicht so klappen wie du es Dir vorstellst.

Gruss, Pete(r)
pete(r)

Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #8 am: 23.07.09 - 12:56:52 »
Hallo Pete(r),

eine führende Spalte würde mir aber die komplette Sortierung der Ansicht verwürfeln. Das kann ich nicht machen.

Ich wollte sogar schon alle Dokumente von oben nach unten ablatschen und dann bei dem gesuchten stehen bleiben. Aber bei 100.000 Dokumenten scheint mir das keine Lösung zu sein.

Bernd

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #9 am: 23.07.09 - 20:28:40 »
Kurz und prägnant: Das geht nicht. Vergiss es.

Wenn einer eine gegenteilige Lösung veröffentlicht, wird ihm mein ewiger Dank nachschleichen (es sei denn, es ist irgend welches Geraffel über ein proprietäres OS - das ist ja einfach gemacht und allgemein dann nicht zu gebrauchen).

Bernhard

Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: gewünschte Ansicht wird nicht geöffnet
« Antwort #10 am: 24.07.09 - 08:10:50 »
Hallo Bernhard,

danke für den abschließenden Kommentar. Dann verwerfe ich meine Idee und klicke mich weiter durch die Kategorien.

Bernd

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz