Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Kirschi am 14.02.08 - 16:40:07

Titel: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag 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
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: Thomas Schulte am 14.02.08 - 16:51:38
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.
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: Kirschi am 14.02.08 - 17:37:03
Muchas Gracias!

Grüße

Kirschi  :)
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: koehlerbv am 14.02.08 - 18:16:04
Aus der DesignerHelp zum zweiten Parameter in NotesDocument.Save:

Zitat
If the force parameter is True, the createResponse parameter has no effect.

Das zweite True ist also egal - das kann es nicht sein.

Bernhard
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: Skorpi am 14.02.08 - 18:22:00
Ich dachte man erstellt ein Response-Dokument mit call docResponse.MakeResponse(docParent) und einem anschließendem doc.save(true,true)...???
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: koehlerbv am 14.02.08 - 18:42:04
Darum geht es hier nun nicht. Die DesignerHelp zu NotesDocument.Save klärt Dich auf, worüber wir hier diskutieren.

Bernhard
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: Axel am 15.02.08 - 09:25:34
Schaust du eventuell auf eine andere Replik? Gibt's in den Dokumenten Leser- und/oder Autorenfelder die den Zugriff beschränken?


Axel
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: klaussal am 15.02.08 - 09:47:09
Habe den Code mal auf die Schnelle getestet. Läuft einwandfrei durch.
Der Hund muss also woanders begraben sein.
Titel: Re: Geänderte Felder des Dokuments werden nicht gespeichert
Beitrag von: ata am 15.02.08 - 14:04:05
Zitat
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  :-: ???