Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: macs46 am 23.01.04 - 08:30:23
-
Hi Notes Freaks,
ich habe mal eine Frage:
Ich möchte in einer Datenbank mit WP-Beratungsbögen, die Dokumente archiveren die ältern sind als der aktuellste (neuste Beratungsbögen) d.H. es bleibt nur der aktuelle Beratungsbogen in der Arbeitsdatenbank und die restlichen sollen ins Archiv verschoben werden.
Könnt Ihr mir da einen Tipp geben, wie ich das am besten anstelle.
Danke schon mal.
Ciao macs46
-
Das ist gar nicht so banal :
Du solltest zuerst eine Ansicht machen,
die nach Kunden-ID sortiert ist: Pro Kunde ein WP-Bogen.
( So oder so ähnlich).
Dann in LotusSkript :
Zuerst prüfen ob es mehr als ein Dokument zu einer Kunden-ID gibt.
Falls ja, alles in ein Array ( Erstelldatum, Universal-ID)
Dann die älteren ab ins Archiv.
So groß skrizziert
Ciao
Don Pasquale
-
Oder ein völlig neues Konzept in der DB.
Ich weiß zwar nicht was Du unter "WP" verstehst, aber ist denke ich hier auch nicht relevant.
Du erstellst ein erstes Dok für den Kunden.
D.h. jetzt gibt es zu diesem Kunden nur 1 Dokument.
Nun erstellt Anwender ein 2. Dokument zum Kunden. Dabei wählt er das bisher existierende aus (in einer View oder im Dok selbst) und klickt auf einen Button "Neues WP - Dok zum Kunden" oder so.
Dabei wird dann die DokID des ausgewählten Doks per Script in ein Feld des neuen geschrieben, zusätzlich können mit dieser Methode gleich ein paar Stammfelder per Script übernommen werden aus dem alten Dok, um nicht unnötig schon vorhandene Daten nochmal einzugeben.
Im Querysave setzt Du dann den Status des alten Doks auf "Archiv", ein nächtlicher Agent macht bei Bedarf den Rest und verschiebt es in eine Archiv-DB.
In den Button "neues WP Dok" musst Du dann allerdings z.B. folgendes einbauen am Ende:
'Speichere neues Doc
Call docNew.save(False, False)
'Hole neues Dok ins Frontend
Set uidocNew = uiws.editDocument(False, docNew)
Call docNew.remove(True) 'Das Backend löschen, Grund: sonst verbleibt das Dok, auch wenn User das Frontend-Doc ohne speichern schließt!
uidocNew.EditMode = True
hth,
Matthias
-
... und seitdem hörte man nie wieder etwas von ihm
-
Wie wäre es mit folgendem Lösungsansatz:
1. Ansicht erstellen die die betreffenden Dokumente
nach Kunden-Nr. sortiert, danach nach Erstellungsdatum
(das Jüngste ist das 1. innerhalb eines Kunden)
2. Mittels eines Agenten für jedes Dokument ein Feld mit
einem "Zähler" versehen, der angibt das "wievielte"
Dokument des Kunden es ist:
Bsp.:
KD Erstellungsdatum Zähler
4711 12.12.2003 1
4800 26.01.2004 1
4800 24.12.2003 2
4800 13.11.2003 3
5004 12.01.2004 1
5004 09.06.2003 2
3. Danach alle Dokumente löschen, deren Zähler > 1 ist ?
Müßte doch funzen oder ?
-
@Jeff,
dann wären wir schon Zwei.
Aber ob sich macs jemals wieder meldet ?
Ciao
Don Pasquale
-
Don, hast Du TMC vergessen ?
Ich hätte auch noch eine Idee - aber die behalte ich mal für mich, bis sich der Fragesteller vielleicht doch nochmal meldet.
Bernhard
-
Don, hast Du TMC vergessen ?
Hat Don wohl, und das obwohl ich mir soviel Mühe gegeben habe beim Posten ::) :)
Also an Ideen scheitert es ja nicht :)
Matthias
-
Gezz ma janz langsam hier:
Türlich habe ich TMC nicht übersehen, ich fand den Ansatz
von Jeff so ähnlich zu meinem, dass wir schon 2 sind.
Was denkt Ihr eigentlich von mir ?
Ciao
Don Pasquale
[ Noch 2 Postings zu diesem Thema und das ganze wandert ins Off-Topic :-) ]
-
Sorry Leute, dass ich mich nicht mehr gemeldet habe. Hatte vom Chef noch einen Auftrag eine neue Datenbank zu entwicklen. Deswegen musste ich dieses Projekt erstmal zurück stellen.
Danke erst mal für Eure Vorschläge und Ideen.
Da ich an der Datenbank sowieso eine größere Änderung gemacht habe, habe ich gleich den Vorschlag von TMC aufgegriffen.
CIAO Macs's46
-
... und jetzt noch auf "erledigt" setzen, das wäre suuuuuuper ;D