Domino 9 und frühere Versionen > ND6: Entwicklung
Geänderte Felder des Dokuments werden nicht gespeichert
Kirschi:
Hallo Notes-Forum,
ich programmier gerade an einem Agenten rum, der im Backend laufen soll und bei bestimmten Dokumenten Feldinhalte löschen soll. Das Ganze dient der Anonymisierung von Daten. Hier ist zunächst mal der komplette Code:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim weekDateTime As NotesDateTime
Dim modifiedDateTime As NotesDateTime
Set weekDateTime = New NotesDateTime( "Today" )
Set modifiedDateTime = New NotesDateTime( "" )
Call weekDateTime.AdjustDay( -1 )
Set db = session.CurrentDatabase
Set view = db.GetView ("Abgeschlossene Dokumente")
Set doc = view.GetFirstDocument
While Not doc Is Nothing
modifiedDateTime.LSLocalTime = doc.LastModified
If weekDateTime.TimeDifference( modifiedDateTime ) > 0 Then
doc.Namenserweiterung = "Daten gelöscht"
doc.Anschrift = "Daten gelöscht"
doc.GebDatum = "Daten gelöscht"
doc.Kontonummer = "Daten gelöscht"
doc.Vorhaben = "Daten gelöscht"
doc.Ansatz_1 = "Daten gelöscht"
doc.angesprochen_1 = "Daten gelöscht"
doc.Ansatz_2 = "Daten gelöscht"
doc.angesprochen_2 = "Daten gelöscht"
doc.Ansatz_3 = "Daten gelöscht"
doc.angesprochen_3 = "Daten gelöscht"
doc.anonymisiert = "ja"
doc.History = doc.History(0) & Chr(13) & Str (Now) & " Dokument anonymisiert"
Call doc.Save (True, True)
End If
Set doc = view.GetNextDocument(doc)
Wend
End Sub
Der Agent läuft fehlerfrei durch und im Debugger kann ich auch sehen, dass die entsprechenden Items gesetzt (anonymisiert) werden, aber wenn ich die Dokumente später im Client öffne, stehen noch die alten Werte in den Feldern.
Irgendwie stehe ich gerade total auf dem Schlauch. Kann mir vielleicht jemand auf die Sprünge helfen?
Viele Grüße
Kirschi
Thomas Schulte:
Nimm das zweite True beim doc.save raus und ersetze es durch False. Mit dem was du da machst erstellst du eine neue Response und änderst nichts am ursprünglichen Dokument.
Kirschi:
Muchas Gracias!
Grüße
Kirschi :)
koehlerbv:
Aus der DesignerHelp zum zweiten Parameter in NotesDocument.Save:
--- Zitat --- If the force parameter is True, the createResponse parameter has no effect.
--- Ende Zitat ---
Das zweite True ist also egal - das kann es nicht sein.
Bernhard
Skorpi:
Ich dachte man erstellt ein Response-Dokument mit call docResponse.MakeResponse(docParent) und einem anschließendem doc.save(true,true)...???
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln