Domino 9 und frühere Versionen > Entwicklung

Archivierung von Dokumenten eines Kunden mit unterschiedlichem Stand

(1/3) > >>

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