Domino 9 und frühere Versionen > ND6: Entwicklung
markierte Dokumente einer Ansicht exportieren
scsi:
Hallo Norbert,
das ist es nicht ganz was ich brauche. Bei dem Export über Formel werden die Kategorien nicht mit in die Zeilen übernommen, und das sollte schon sein. Im Prinzip ist das ja der Export, den man auch über das Menü "Datei\Exportieren..." erreichen kann. Der reicht mir leider nicht, zumal dann wieder formatiert werden mus, ... für den Anwender viel zu viel, der nur mal schnell "auf Knopfdruck" einen Excel-Report über einen bestimmten Teil von Dokumenten haben will.
Ich habe den Agenten extra in einer Testumgebung schon gekürzt und die ganzen Excel-Komponenten und -Formatierungen weggelassen.
Habe auch noch weitergetestet und komme langsam zu dem Schluss, dass die viewEntryCollection vermutlich das Problem ist.
In meinem Test habe ich eine Ansicht mit 4 Dokumenten. In einem Dokument gebe ich zwei Kategorien ein, somit taucht in der Ansicht ein Dokument 2x auf - die View hat also 5 Einträge.
notesViewEntryCollection.Count --> stellt fest es gibt 4 Dokumente
view.AllEntries --> geht nur 4 Einträge durch, das es doppelte gab interessiert nicht, nach 4 Einträgen ist einfach Schluss ;-(
Markiere ich also den 5. Eintrag in der Ansicht (also das 4. Dokument), ist die mein <entry> (siehe Script von heute 9:17 Uhr) einfach leer.
Ist das jetzt ein Bug?
Hat den Effekt schon mal jemand gehabt?
Vielen Dank an alle Helfer!
LN4ever:
Liebe Silke,
vielleicht steht bei dem Entry dann ISCATEGORY auf TRUE oder ist der entry wirklich NOTHING ?
Wenn du auf einer Kategorie landest, mußt du zum nächsten Dokument gehen. Aber selbst wenn du dieses Problem gefixt bekommst, zweifle ich daran, ob das überhaupt funktionieren kann, denn das Dokument, das mehrfach in einer View auftaucht, kann ja keinen eindeutigen Pointer in der View haben.
Funktionieren kann m.E. nur, daß du die EntryCollection aller entries entlangspazierst und bei jedem Entry, der ein Dokument ist, nachsiehst, ob dieses Dokument Teil deiner DocumentCollection ist.
Gruß
Norbert
scsi:
Hallo Norbert,
ich habe mir das heute erst wieder vorgenommen, hatte mal ein verlängertes Wochenende.
Also entry ist Nothing, über die ViewEntryCollection-Klasse bekomme ich auch nur Dokumente, keine Kategorien. Das Problem ist meiner Meinung nach wirklich, dass ich mit AllEntries anscheinend nicht "allEntries" bekomme, jedenfalls nicht, wenn die Ansicht kategorisiert ist und Dokumente duch die Kategorisierung mehrfach in der Ansicht angezeigt werden.
Jetzt bin ich mal einen anderen Weg gegangen - über NotesNavigator, habe dazu diesen Eintrag im Forum gefunden -->
http://atnotes.de/index.php?topic=26596.msg169198#msg169198
Jetzt habe ich ein anderes Problem - wenn ich ein Dokument markiere, welches mehrfach in der Ansicht auftaucht - ist entry wieder Nothing, ansonsten gehen jetzt alle Einträge.
Hier die Version mit ViewNavigator:
--- Code: ---
Set vwnav = vw.CreateViewNav()
Set doc = dc.GetFirstDocument
Do Until doc Is Nothing
Set entry = vwnav.GetEntry(doc)
sTemp = ""
' alle Spalten der Ansicht ausgeben
i = 0
Forall entryVal In entry.ColumnValues
If Not vw.Columns(i).isHidden Then
If Isarray(entryVal) Then
sMultiValue = ""
' wenn Array, dann in String umsetzen
Forall mv In entryVal
sMultiValue = sMultiValue & Cstr(mv) & ", "
End Forall
sTemp = sTemp & sMultiValue & ";"
Else
sTemp = sTemp & Cstr(entryVal) & ";"
End If
End If
i = i+1
End Forall
Print #fileNum%, sTemp
Set doc = dc.GetNextDocument(doc)
Loop
--- Ende Code ---
Was ich nicht verstehe ist, das ich mit <ViewEntryCollection.AllEntries> einfach mal nicht alle Einträge der Ansicht bekomme, sondern nur einen Teil - nochmal, ich habe im Objekt dann wirklich nur Dokumente, aber halt nicht alle, sondern teilweise auch welche doppelt.
Mit NotesViewNavigator.GetEntry(doc) bekomme ich wiederum alle Dokumente, die einmalig sind, mehrfach angezeigte Dokumente nicht.
Irgentwie komme ich auch mit den vielen Beispielen aus anderen Einträgen nicht weiter, in meiner DB komme ich nicht zum gewünschten Ergebnis.
Um das zu verdeutlichen habe ich meine kleine Test-DB mal beigefügt.
Das Dokument Text1 hat 2 Kategorien, es läßt sich mit "Test Export ViewEntryCollection" exportieren, dafür geht Text2 (das Dokument dahinter) nicht.
Mit "Test Export ViewNavigator" können alle Dokumente exportiert werden, dafür jedoch nicht Text1
Ich hoffe, das ich damit meine Frage besser formuliert habe und jemand eine Erklärung hat.
Vielen Dank.
Silke
scsi:
Hallo nocheinmal,
hat denn keiner eine Idee, warum die beiden Klassen bei kategorisierten Ansichten, welche Dokumenten beinhalten, die in mehreren Kategorien aufgeführt sind, nicht wollen?
--- Zitat ---Funktionieren kann m.E. nur, daß du die EntryCollection aller entries entlangspazierst und bei jedem Entry, der ein Dokument ist, nachsiehst, ob dieses Dokument Teil deiner DocumentCollection ist.
--- Ende Zitat ---
Ich weiß nicht, wie das funktionieren kann, wenn in der EntryCollection schon garnicht alle Dokumente vorhanden sind.
In meiner beigefügten Test-DB habe ich extra einmal die Einträge der EntryCollection in ein Hilfsdokument ausgeben lassen. Dort kann man sehr deutlich sehen, das die Collection nicht alle Dokumente beinhaltet, sondern wie oben schon mal beschrieben:
Es sind 4 Dokumente, ein Dokument hat 2 Kategorien, daher sind in der Ansicht 5 Einträge. In meiner EntryCollection sind anschließend 4 Elemente, davon ist das Dokument mit 2 Kategorien 2 mal vorhanden.
Und das verstehe ich nicht. :-:
In meiner Erwartung müsste die EntryCollection entweder 5 Einträge haben, einen doppelt, oder 4 - dann aber jedes Dokument ein mal.
Bitte, bitte laßt mich nicht hängen, ich will doch nur einen simplen Export, ... :'(
was stimmt denn an der Vorgehensweise nicht ???
Vielen Dank nocheinmal
Silke
ata:
--- Zitat ---was stimmt denn an der Vorgehensweise nicht
--- Ende Zitat ---
... bei deiner Zeile:
Set entry = vec.GetEntry(doc)
... erhälst du kein Entry zurück, da das doc nicht eindeutig den Einrag repräsentiert. Damit erhälst du dann im späteren Verlauf Object Variable not set, da die Entry nicht gesetzt werden konnte...
Was genau hast du vor - möchtest du einfach eine Ansicht mit allen Spalten exportieren?
Toni
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln