Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Buzzy am 16.01.14 - 10:42:41

Titel: geschütze Design-Elemente mit LS suchen => Problem
Beitrag von: Buzzy am 16.01.14 - 10:42:41
Hi zusammen,

ich will in einer DB nach Design-Elementen suchen, die den Vor-Aktualisierungen-Schützen-Haken haben.
Dazu hab ich einen Agenten, der anhand einer Schleife (1 - 200.000) mit "db.GetDocumentByID" über alle Notes in der DB schleift und schaut, ob das Ding im Feld "$Flags" ein "P" stehen hat. Das tut er auch, findet aber nur 105 Elemente, wohingehen ich (im scanEZ) mit einem @Contains($Flags; "P") deutlich über 400 Treffen bekomme.

Der Agent schaut so aus:

For i = 0 To 200000
      Set note = thisdb.Getdocumentbyid(i)
      
      If Not note is Nothing Then
         Set titleItem = note.Getfirstitem("$Title")
         If Not titleItem Is Nothing Then            
            Set flagItem = note.Getfirstitem("$Flags")
            If Not flagItem Is Nothing Then
               If InStr(flagItem.text, "P") > 0 Then
                  protectedCounter = protectedCounter + 1
               End If
            End If            
         End If
      End If      
next

Wenn ich die NoteID fest eingebe, findet er das Element auch nicht und wenn ich auf $Title = "NameDesElements" prüfe, gibt's auch keinen Treffer - versteh ich nicht. Es handelt sich in dem Beispiel um eine ganz normale Ansicht...

Danke schon mal,
Buzzy
Titel: Re: geschütze Design-Elemente mit LS suchen => Problem
Beitrag von: umi am 16.01.14 - 11:19:35
Hallo
das ganze schon mal mit der NotesNoteCollection angeschaut ?

Titel: Re: geschütze Design-Elemente mit LS suchen => Problem
Beitrag von: Buzzy am 16.01.14 - 12:37:26
Damit geht's - besten Dank!

Versteh zwar nicht ganz, warum's mit meiner Variante nur ein bißchen geht, aber egal ;-)

Danke & Gruß,
Buzzy
Titel: Re: geschütze Design-Elemente mit LS suchen => Problem
Beitrag von: pram am 24.01.14 - 22:48:40
Weil die id als hex String angegeben werden muss.

Dein Integer wird durch einen Autocast nach String konvertiert und da fehlen halt dann die Buchstaben A-F.

(Dass dein Verfahren nicht gerade effizient ist dürfte klar sein)

Du kannst der NotesNoteCollection gleich eine Formel mitgeben,  oder dir sogar eine Ansicht bauen,  die genau diese Elemente anzeigt. (um sie z. B. vor der Auslieferung zu kontrollieren)

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/view-of-design-elements.htm
Die formulaclass kann man inzwischen auch bequem im Designer anpassen indem man im Navigator mit Rechtsklick,  als dxl editieren auf der view auswählt

Gruß Roland
Titel: Re: geschütze Design-Elemente mit LS suchen => Problem
Beitrag von: Buzzy am 30.01.14 - 13:35:32
Merci! :-)