Autor Thema: Löschen von Breakpoint-Profildokumenten  (Gelesen 2008 mal)

Jürgen Schomann

  • Gast
Löschen von Breakpoint-Profildokumenten
« am: 25.10.14 - 16:22:07 »
Wenn das Thema hier auch schon behandelt wurde, habe ich trotzdem noch eine Frage.

In unseren Datenbanken existieren Breakpoint-Profildokumente von anderen Nutzern.
Über einen Agenten mit NotesDatabase.GetProfileDocCollection() lassen sich diese zwar lesen aber nicht über
NotesDocument.RemovePermanently(True) löschen. Auch nicht die eigenen Breakpoint-Profildokumente.

Nur wenn man den Script-Debugger aktiviert, den Script startet bei dem man Breakpoints gesetzt hat und dann die Aktion 'Alle Breakpoints löschen' aufruft.

Was kann man aber tun wenn man nicht mehr weiß über welchen Script dies Breakpoints gesetzt wurden und wenn sie außerem von fremden Nutzern gesetzt wurden.
Eigenartig ist auch, dass die Breakpoint-Profildokumente anderer Nutzer nur 2 Felder,  $Name und $UpdatedBy, enthalten oder werden die anderen Felder nicht angezeigt?

Gibt es irgendeine Möglichkeit solche Dokumente zu löschen?

Offline mholup

  • Frischling
  • *
  • Beiträge: 17
Re: Löschen von Breakpoint-Profildokumenten
« Antwort #1 am: 10.11.14 - 13:34:05 »
Hallo,

also bei mir funktioniert das löschen der Profile einwandfrei.

Dim sess As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   
   '   On Error Goto errorhandler
         
   Set session = New NotesSession
   Set db = session.currentdatabase()
   Set notesColl = db.GetProfileDocCollection( )
   Set doc = notescoll.GetFirstDocument ()
   While Not doc Is Nothing
      Print doc.NameOfProfile & " " & doc.Key
      s = doc.UniversalID
      
      Set doc = notesColl.GetNextDocument ( doc )
      Set docA = db.GetDocumentByUNID(s)
      Call docA.Remove(True)
   Wend
   

Jürgen Schomann

  • Gast
Re: Löschen von Breakpoint-Profildokumenten
« Antwort #2 am: 23.12.14 - 15:51:52 »
Vielen Dank für deine Antwort.
Ich verwende die gleiche Schleife wie bei dir nur mit dem Unterschied, dass ich das zu löschende Dokument nicht mit NotesDatabase.GetDocumentByUNID, sondern die Angaben NotesDocument.NameOfProfile und NotesDocument.Key vorher hole und danach mit NotesDatabase.GetProfileDocument und diesen Angaben dann das Dokument hole und lösche. Dies klappt auch bei allen Profildokumenten nur bei Breakpoint-Profilen nicht.
Die Ursache liegt darin, dass beim Holen des Profildokuments nicht das Breakpoint-Profil geholt wird sondern ein neues Profildokument angelegt wird mit exakt den gleichen Eigenschaften NotesDocument.NameOfProfile und NotesDocument.Key
Das Feld $Name ist aber unterschiedlich z. B. für Nutzer Max Mustermann/Test

Original-Breakpoint-Profil $profile_012breakpoints_cn=max mustermann/o=test

und in dem anderen Dokument $profile_012breakpoints__n=max mustermann/o=test

Dadurch lösche ich immer das gerade neue Dokument statt das Breakpoint-Profil.

Ich habe es jetzt analog wie du geändert, dann geht es auch richtig.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz