Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Kirschi am 14.02.08 - 16:40:07
-
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
-
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.
-
Muchas Gracias!
Grüße
Kirschi :)
-
Aus der DesignerHelp zum zweiten Parameter in NotesDocument.Save:
If the force parameter is True, the createResponse parameter has no effect.
Das zweite True ist also egal - das kann es nicht sein.
Bernhard
-
Ich dachte man erstellt ein Response-Dokument mit call docResponse.MakeResponse(docParent) und einem anschließendem doc.save(true,true)...???
-
Darum geht es hier nun nicht. Die DesignerHelp zu NotesDocument.Save klärt Dich auf, worüber wir hier diskutieren.
Bernhard
-
Schaust du eventuell auf eine andere Replik? Gibt's in den Dokumenten Leser- und/oder Autorenfelder die den Zugriff beschränken?
Axel
-
Habe den Code mal auf die Schnelle getestet. Läuft einwandfrei durch.
Der Hund muss also woanders begraben sein.
-
Gibt's in den Dokumenten Leser- und/oder Autorenfelder die den Zugriff beschränken
... dann würde er in eine Fehler laufen, daß er keine Berechtigung hat - aber davon ist hier keine Rede...
Nach meiner schnellen Durchsicht des Codes sollte der laufen - was Klaus ja auch festgestellt hat...
Toni :-: ???