Danke für diese vielen Anregungen. Hatte zwischen drin ein anderes Projekt geschrieben. Jetzt ist wieder das besagte an der Reihe.
K.A. ob das geheim ist, aber ich kann ja trotzdem mal sagen um was es eig. geht:
Ich erstelle aus zusammengetragenen App/Tsk-Dokumenten aus unserem Gruppenkalender Tages-/Monatsübersichtsdokumente (Dokumente mit Zahlenfeldern, werden in Ansichten mit "Wert als Symbol anzeigen" angezeigt). Im großen und ganzen (vom Korrektursystem her usw.) ist das schon alles ganzschön gut durchdacht (meiner Meinung nach). Wo ich nur tooootal ins Klo gegriffen habe ist beim erstellen. Dort gehe ich nähmlich nach folgender Müll-Methodik vor:
Ich baue eine entrycollection aus allen App/Tsk-Dokumenten.
-> Durchlaufe alle Dokumente.
|
->Springe ins Dokument:
Löse alle Namen / Datums-Zeitwerte auf. Mache noch andere tolle Dinge die ich jetzt nicht sagen will.
Ich hab im vorherigen Schritt unter anderem 2 Arrays gebildet. Eins für die Namen, eins für die Datum/Zeit-Werte.
Jetzt giebts ne Schleife die Alle Namen durchläuft. In dieser Schleife ist ne Schleife die die Datum/Zeit-Werte durchläuft.
JETZT KOMMT DER PERFORMANCE-SCHROTT: Ich sehe dann jeweils nach ob zu dem jeweiligen Namen/Datum/Zeitwert bereits ein Dokument besteht. Wenn ja update ich das jeweilige Dokument (dabei wird halt immer nur der eine Symbolwert in das einschlägige Feld geschrieben). Wenns noch kein Dokument zu den jeweiligen Daten besteht lege ich eines an.
Meine Idee zur Verbesserung war das ganze mit sonem Dicken fetten Array zu lösen, in das ich alle meine Werte aufeinmal einlese und danach gezielt in einem aufwasch in die Dokumente schreibe. Damit hätt ich das Zeitaufwendige rumgespeichere nicht mehr, sondern würde jedes Dokument halt nur einmal Speichern.
Natürlich kann man das oben beschriebene ZeitArray komplett mit den jeweils möglichen Zeitpunkten des zu updatenden/erstellenden Dokuments vergleichen und dann eintragen und einmal Speichern.
Ist aber noch nicht die optimale Lösung da es sich bei den einzelnen Feldern im Dokument um Mehrfachfelder handelt, in dem dann eben die - sich möglicherweise überschneidenden - Termine aufgelistet werden (ja sowas ist vom logischen Standpunkt her möglich^^). Das macht es mir beim Korrigieren leichter (veränderungen am App/Task-Dokument werden natürlich auch behandelt, ich nenne das hier "Korrigieren").
Vllt. wisst ihr ja die optimale Lösung
Ich bin wahrscheinlich einfach noch zu unerfahren für derartige Riesenprojekte..
Danke schon mal im voraus...