Domino 9 und frühere Versionen > ND6: Entwicklung
NotesDocumentCollection "kopieren"
koehlerbv:
Wo "reduziert" sich denn überhaupt die NotesDocumentCollection ? Das ist mir irgendwie noch sehr unklar.
Leere Collection: Es führen viele "Wege nach Rom". Eine generell leere Ansicht, ein NotesDatabase.Search (!!!) mit einem (sicherheitshalber unsinnigen Key und) eine COD in ferner Zukunft (das geht wegen des COD dann wirklich sehr fix) und ...
Aber wie gesagt: Wie ändert sich während der Routine Deine NotesDocumentCollection ?
Bernhard
Onkel Domino:
Hi Bernhard,
ist es Dir also nicht entgangen?! 8)
Ich werd' nochmal eine Skizze machen. Du hast mein Vorhaben aus dem letzten Thread ja schon etwas mitbekommen. Ich versuche es so einfach wie möglich zu halten:
- eine DB die u.a. Rechnungsdokumente enthält
- an den Rechnungen sind ggfs. Mitarbeiter beteiligt, die Provision bekommen
- es soll eine monatliche Provisionsübersicht erstellt werden (Excel)
Mein Vorgehen bis jetzt:
- habe alle Mitarbeiter in ein enges Array gequetscht (hoffentlich liest kein Betriebsrat mit)
- habe mir alle Rechnungen aus der Datenbank geholt
- nun nehme ich mir den ersten MA und schaue, ob er an der ersten Rechnung beteiligt ist
- wenn nicht: Dok aus NDC löschen
- wenn ja: Dok behalten
- solange, bis ich durch alle Rechnungen durch bin
- an dieser Stelle habe ich alle Dokumente des betreffenden MA's
- Excel Datei die mittlerweile erstellt wurde bekommt in die Startzeile Namen des MA's
- dann kommen die Spaltenüberschriften in Excel (Rg-Nr, Datum, etc) ... solange bis NDC.Count = 0
- jetzt wird nach Rechnungsnummer sortiert und die Summe gebildet, danach ein paar Leerzeilen
--> an dieser Stelle brauche ich wieder ALLE Rechnungen um sie nach dem nächsten MA im Array aussortieren zu können....und das ist leider bis jetzt noch db.Search
Warum ich keinen FT und eine nach MA kategorisierte View (wegen view.GetAllDocumentsByKEY()) verwende: der Abrechnungszeitraum muss variabel sein. Das krieg ich mit einer View nicht hin und FTSearch gibt mir nur die Möglichkeite Dok's NACH einem bestimmten Datum zu suchen; nicht aber eines bestimmten Zeitraums :-(
Ich habe überlegt, ansatt die Dokumente rauszuwerfen eine IF-Abfragen ob Array(x) = doc.Sachbearbeiter(0), aber dann sehe ich keine Möglichkeit die Spaltenüberschriften in Excel richtig zu setzen. Ich weiß ja nicht, ob das aktuelle Dokument das Letzte ist.
Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken.
koehlerbv:
He, das mit dem "nicht entgangen" sollte schon weiter oben klar geworden sein (23:38) ;D
Gib' mir noch einen kleinen Moment ...
Bernhard
Onkel Domino:
Ja danke, um 23:38 Uhr war ich am Tippen wie ein Großer.... ;D
koehlerbv:
Zunächst folgendes:
NotesDatabase.Search geht für einen solchen Zweck wie diesen natürlich. Das läuft dann ja dauernd :)
FTSearch ermöglichst dieses aber genauso. Aber wie gesagt: Wozu (in diesem Falle).
A-Bär: Warum wirfst Du denn Dokumente aus der Collection ? Du kannst sie doch jedesmal erneut scannen und dann nur jeweils mit den zutreffenden weiterarbeiten ? Notfalls (um den Code nicht grundlegend ändern zu müssen) könntest Du Dir doch jeweils auch ein Array mit den UNIDs der Docs aus der Collection anlegen, in der der Mitarbeiter beteiligt ist. Dein NotesDocument.Collection.Count kriegst Du ja auch so (oder noch bequemer beim Scannen, indem Du jedesmal vorher eine boolesche Variable auf "True" (Default: False) setzt, wenn Du einen Treffer hast.
Dein Ansatz ist zu kompliziert (oder zu einfach - wie man es nimmt), scheint mir. Das geht alles viel einfacher.
Oder eleganter: Bau' Dir eine List und packe dort in einem ersten Scan alle Beteiligten 'rein. Elegant deshalb, da Du Dich um Doppler nicht kümmern musst. Im eigentlichen Excel-Export arbeitest Du dann Deine Collection an Hand der List ab.
Es führen immer viele Wege nach Rom.
Good luck,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln