Domino 9 und frühere Versionen > ND6: Entwicklung

Geänderte Felder des Dokuments werden nicht gespeichert

(1/2) > >>

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