Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Wiesel am 12.11.09 - 12:41:49
Titel: Sortierung in Collection
Beitrag von: Wiesel am 12.11.09 - 12:41:49
Hallo! Ich habe eine Schaltfläche mit der ich basierend auf dem stehenden Dokument aus einer Ansicht heraus ein neues Dokument erstelle. In diesem neuen Dokument bereite ich Daten aus mehreren Dokumenten auf. Die Dokumente hole ich mir dabei in eine Collection. Die Collection wird aus einer versteckten Ansicht erstellt. Klappt auch. Nur eine Sache wurmt mich: Die erste Ansicht hat eine andere Sortierung als die zweite Ansicht, die ich mir für die Collection heranhole. Die Collection soll die Daten Dokumente, die ich mir zusammenstelle, auf Basis der Sortierung der zweiten (versteckten) Ansicht aufbauen. Die Sortierung bezieht sich aber immer auf die Ansicht, aus der ich das Script starte.
Hier mal mein Script: Sub ProtokollDruck() Dim workspace As New NotesUIWorkspace Dim db As NotesDatabase Dim session As New NotesSession Dim uidoc As NotesUIDocument Dim doc As NotesDocument Dim Newdoc As NotesDocument Dim col As NotesDocumentCollection Dim doc2 As NotesDocument Dim view As NotesView Dim strAntwortdoc As String Dim strNr As Variant Dim strNr2 As Variant Dim strBereich As Variant Dim strBereichn As Variant
Set db = session.CurrentDatabase Set doc = session.DocumentContext
If doc.form(0) = "Protokoll" Then
'Neues Dokument erstellen Set Newdoc = DB.CreateDocument Newdoc.form = "(DruckProtokoll)"
strNr = doc.GetItemValue( "numNiederschrift" )
Set view = DB.GetView("(BBeschluss)") Set col = view.getalldocumentsbykey(strNr) Set doc2 = col.GetFirstDocument
strAntwortdoc = "" Do Until doc2 Is Nothing strBereichn =doc2.optPBereich(0) If strBereich = strBereichn Then 'Solange optPBereich der selbe ist
'Antwortdokumente in Druck unterbringen Newdoc.txtBeschlussvorlage = strAntwortdoc 'Dokument zum Bearbeiten anzeigen Call workspace.EditDocument(True,Newdoc) End If End Sub
Die Sortierung der Ansicht (BBeschluss) ist halt anders aufgebaut als die Ansicht aus der ich die Schaltfläche starte. Die Collecton arbeitet die Dokumente aber nach der Startansicht ab.
Kann ich das beeinflussen?
Danke und Grüße, Wiesel
Titel: Re: Sortierung in Collection
Beitrag von: ascabg am 12.11.09 - 12:47:05
Hallo,
Schon mal die Klasse NotesViewEntryCollection angesehen.
Andreas
Titel: Re: Sortierung in Collection
Beitrag von: TRO am 12.11.09 - 12:48:04
Ja, indem Du statt einer NotesDocumentCollection eine NotesViewEntryCollection verwendest.
hth
Thomas
Titel: Re: Sortierung in Collection
Beitrag von: Wiesel am 12.11.09 - 13:54:41
Das habe ich noch nie benutzt. Stelle mich gerade auch etwas dumm an.....wie laufe ich denn da die Dokumente durch? Ich möchte ja bestimmte Daten aus den Dokumenten neu zusammenstellen....
Titel: Re: Sortierung in Collection
Beitrag von: ascabg am 12.11.09 - 14:07:08
Eigentlich genauso, wie Du eine "normale" DocumentCollection durchlaeufts.
Code
Set vecol = view.GetAllEntriesByKey("Test")
For i = 1 To vwCol.Count
Set veEntry = vecol.GetNthEntry(i)
Set doc = veEntry.Document
Next