Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Wirsing am 04.01.05 - 17:15:13
-
Hallo zusammen,
ich generiere innerhalb eines RTF-Feldes(im Hauptdokument) ein paar DocLinks zu den jeweiligen Antwortdokumenten (mit LotusScript).
Die Links werden generiert, beim Anklicken wird auch ein Dokument geöffnet, allerdings mit der Vorgabedatenbankmaske der Datenbank und nicht mit der ursprünglichen Maske des Dokumentes.
In einem Rückantwortdokument lasse ich ebenfals ein DocLink erstellen (per Formelsprache -> $Ref) - und dieser funktioniert einwandfrei.
Wenn ich nun die Eigenschaften der beiden Verknüpfungen vergleiche, fällt mir auf, dass die Ansichts-ID und die Verknüpfungsbeschreibung die einzigen Unterschiede sind.
Hat jemand eine Idee, wie ich den LS-Link richtig hingebogen bekomme?
Hier ein wenig Code (Queryopen) zum rumspielen:
Dim docsCollChild As NotesDocumentCollection
Dim doc As NotesDocument
Dim docChild As NotesDocument
Dim rtitem As NotesRichTextItem
Set doc = Source.Document
Set docsCollChild = doc.Responses
If doc.HasItem( "rtfUebersicht" ) Then
Call doc.RemoveItem( "rtfUebersicht" )
End If
Set rtitem = doc.CreateRichTextItem( "rtfUebersicht" )
For i =1 To docsCollChild.Count
Set docChild = docsCollChild.GetNthDocument(i)
Call rtitem.AppendDocLink( docChild , Cstr(docChild.text1(0)))
Call rtitem.AppendText( " Text1: " + docChild.text1(0) + " | Text2: " + docChild.text2(0))
Call rtitem.AddNewline(1)
Next
Ich hab' hier schonmal was gelesen von einer Standardansicht, die vor dem Doc geöffnet werden sollte, bin da aber nicht so ganz durchgestiegen... ???
Grüsse
Holger
-
Hallo Holger,
hier hat bestimmt keiner Zeit zum "rumspielen".
Eines vorweg, ich bin kein Moderator !
Trotzdem solltest du eine Standard-Ansicht (Default View) festlegen, sonst kannst du alle deine Agenten gleich wieder in die Tonne klopfen !
Vuiele Grüße
deathcheater
-
Ich hab' schon ne Stanbdardansicht, allerdings hat die nichts mit dieser Maske zu tun.
-
Hi,
was steht denn für eine Maske im Form-Feld der Dokumente?
An deinem Code gibt's erstmal nichts auszusetzen.
Axel
-
Oh, das habe ich vergessen oben mit reinzuschreiben:
Die Dokumente werden zwar in der Vorgabedatenbankmaske angezeigt, aber das Feld Form enthält den richtigen Maskenalias.
Ich überlege die gespeicherten DocLinks aus den erwähnten Rückanwortdokumenten (welche ja funktionieren) in die Hauptmaske zu übernehmen.
Also ungefähr so:
[snip]
...
Call rtitem.AppendText( "DocLink: " + docReChild.parentlink + " Text1: " + docChild.text1(0) + " | Text2: " + docChild.text2(0))
...
[/snip]
Könnte da so auch klappen - ich meine wird der Wert dann wieder als Link angezeigt?
Grüsse
Holger
-
Ok, ich hab's rausgefunden! :D
Nach dem einfügen der Links kann man mit Hilfe der NotesRichtextNavigator und NotesRichtextDoclink die UNIDs der Links beeinflussen.
Diese habe ich nun mit Hilfe von NotesView auf die richtige ViewUNID "umgebogen" und siehe da, die richtigen Masken werden rangezogen...
Scheint so, als sei die Verwendung von Maskenformeln in der Ansichtsauswahl dafür Ausschlagsgebend.
Hier noch der Code:
Oben in die Deklarationen:
[snip]
...
Dim session as New NotesSession
Dim db as NotesDatabase
Dim rtnav As NotesRichTextNavigator
Dim rtlink As NotesRichTextDocLink
Dim View As NotesView
Set db = session.CurrentDatabase
Set view = db.GetView("ansicht")
[/snip]
Dann nach der Schleife:
[snip]
...
Set rtnav = rtitem.CreateNavigator
Call rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK)
Set rtlink = rtnav.GetElement
'Sind ja mehrer DocLinks in diesem Richtextfeld also Loopen
Do
Set rtlink = rtnav.GetElement
rtlink.ViewUNID = view.UniversalID
Loop While rtnav.FindNextElement
...
[/snip]
So, jetzt erst mal Mittagspause!
Grüsse
Holger