Domino 9 und frühere Versionen > Entwicklung
Archivierung von Dokumenten eines Kunden mit unterschiedlichem Stand
macs46:
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
Don Pasquale:
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
TMC:
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
Don Pasquale:
... und seitdem hörte man nie wieder etwas von ihm
jeff1961:
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 ?
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln