Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Sommersprosse am 08.12.17 - 10:03:37

Titel: Öffnen eines Referenz Dokuments
Beitrag von: Sommersprosse am 08.12.17 - 10:03:37
Hallo zusammen,

ich bräuchte mal wieder eure Hilfe..
Ich habe eine Datenbank in der Meeting Protokolle angelegt und gespeichert werden.
In der Maske fm_minutes ist eine eingebetete dynamische Ansicht enthalten, in der die einzelnen Tops des Meetings gespeichert werden. Erstellt werden diese Tops durch eine seperate Maske db_detail.
In der Maske db_detail werden die Beschreibung, Status, Verantwortlicher und Datum eingegeben.
In dieser Maske gibt es ein Feld db_detail_DocID in der die DocID als Referenz des zugehörigen Meetingsprotokolls gespeichert ist.

In der Datenbank selber gibt es verschiedene Ansichten:
My protocolls (für den jeweiligen Moderator)
My attendance (für alle Meetings in denen ich eingeladen wurde)
My jobs (Tops in denen ich als Verantwortlicher zugeteilt wurde)
All Documents (nur für Admins sichtbar)
In der Ansicht my jobs werden nur die einzelnen Tops angezeigt, ohne das zugehörige Hauptprotokoll. Es soll jedoch hier einen Button geben, über den man zum jeweiligen zugehörigen Protokoll kommt.
Ich muss zugeben das ich nicht wirklich oft programmiere und mich hier immer wieder neu rein lesen muss..

ich weiß das es über eine Array gehen muss über die Ansicht All Documents, hier habe ich eine versteckte Spalte mit der DocID, und ich die $Ref mit DocID aus dem Feld db_detail_DocID vergleichen muss, wenn gleich, dann öffnen...
Die letzten Tage hab ich mir die Hilfe zum thema Collection, open Document etc. durchgelesen, aber ich stehe irgendwie auf dem Schlauch, wie ich das umsetzen soll..

Ich hoffe das ich mein Problem detailliert genug beschrieben.
Vielleicht habt ihr mir einen Tipp wie ich hier ansetzen kann. Ich wäre euch echt dankbar.
Titel: Re: Öffnen eines Referenz Dokuments
Beitrag von: Tode am 08.12.17 - 10:17:58
Das geht viel viel einfacher. In Script sind das wenige Zeilen Code. z.B. wenn der Button in einem Agenten steht, der über eine Ansichtsaktion mit @Command([RunAgent] ; "(OeffneHauptdokument)" ) aufgerufen wird:

Code
Dim ws as New NotesUIWorkspace
Dim ses as New NotesSession
Dim db as NotesDatabase
Dim dc as NotesDocumentCollection
Dim doc as NotesDocument
Dim docParent as NotesDocument

Dim strUnid as String

Set db = ses.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
strUnid = doc.Getitemvalue( "db_detail_DocID " )(0)
Set docParent = db.GetdocumentByUnid( strUnid )
Call ws.EditDocument( False, docParent )

Natürlich hat der Code keinerlei Errorhandling und sollte nur als Anhaltspunkt dienen. Ausserdem solltest Du versuchen, den Code zu verstehen, bevor Du ihn  einsetzt, aber als (funktionierenden) Startpunkt kannst Du das gerne verwenden. Ach ja: Den Code habe ich im Browser getippt, Tippfehler sind also durchaus möglich...
Titel: Re: Öffnen eines Referenz Dokuments
Beitrag von: Sommersprosse am 08.12.17 - 12:54:47
Hallo Tode,

danke für den Hinweis und die Script Unterstützung.

Vom Prinzip her habe ich den Code auch verstanden, meine Denke ist in manchen Teilen noch etwas zu kompliziert. Hab dann das Wald vor lauter Bäumen Prinzip...
Aber damit kann ich auf jeden Fall loslegen und erweitern, vielen Dank!

Schönes Wochenende  :)