Domino 9 und frühere Versionen > ND6: Entwicklung

markiertes Dokument ansprechen

(1/12) > >>

Nexus:
Servus,

habe ich das richtig in der Designer Hilfe verstanden, mit dem "UnprocessedDocuments" Befehl, kann kann ich die markierten Dokumente herausfinden ?

Ich möchte nämlich auf markierte Documente zugreifen, und diese dann in eine andere Datenbank kopieren.

Nexus:
Ich poste euch mal den Code. Da hier irgendwie die Documente nicht gefunden werden in der Datenbank und auch in der anderen. Es werden viele Variablen deklariert, die nicht verwendet werden. Das kommt davon, dass ich auf einen vorher geschriebenen Script von mir aufbaue und am Ende, wenn alles funzt, die Variablen Leichen herausnehmen.

Der Code soll alle markierten Documente herausfinden und ein Document ( markiert ) nach dem anderen abarbeiten. Das markierte Document hat einen Feldnamen "listname" in welchen der Name des Documentes steht ( Gruppenname). Dieses Document existiert in 2 Datenbanken. Aufgabe ist, das Dokument in beide Datenbanken kopieren und das alte vorhanden Dokument in den 2 anderen Datenbanken löschen. Damit nur das aktuelle vorhanden ist. Als es ist ein Verteiler.

Nochmal. Das Dokument in der THIS Datenbank ist ein kopie aus den 2 anderen Datenbanken.Jetzt soll das Dokument in die 2 Datenbanken wieder zurückkopiert werden. In dem Dokument in der THIS Datenbank wurde nur kleine Inhaltsänderungen vorgenommen. Deshalb sollen die alten Dokumente gelöscht werden. So dass alle 2 Datenbanken am Ende immer auf dem aktuellen Stand sind.

Hier der Code. Problem ist, dass es mir so vorkommt, dass dieser Script die markierten Dokumente nicht findet und somit auch die alten Dokumente anhand des Namens nicht in den 2 anderen Datenbanken finden kann.



Sub Initialize
   Dim session As New NotesSession
   Dim db1 As NotesDatabase
   Dim db2  As NotesDatabase
   Dim thisdb As NotesDatabase
   Dim searchview1 As NotesView
   Dim searchview2 As NotesView
   Dim searchview3 As notesview
   Dim vc As NotesViewEntryCollection
   Dim entry As NotesViewEntry
   Dim docDB1 As NotesDocument
   Dim docdb2 As NotesDocument
   Dim docEingabe As NotesDocument
   Dim Copydoc As NotesDocument
   Dim  DB1GroupName As Variant
   Dim db1GroupNameE As String
   Dim FirstDocCheckDB1 As Boolean
   Dim Db1EntryCount As Integer
   Dim DB1EntryCounter As Integer
   Dim db1VS As Variant
   Dim db2vs As Variant
   Dim Nam As NotesName
   Dim StringConv As String
   Dim StringConvE As String
   Dim intStrLaenge As Integer
   Dim intStrLaengeF As Integer
   Dim strSearchMemory As String
   Dim SearchMemoryA As Variant
   Dim Nullstatus As Integer
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim collection As NotesDocumentCollection
   Dim item As NotesItem
   
   Set uidoc = workspace.CurrentDocument
   Set thisdb = session.CurrentDatabase
   Set searchview3=thisdb.GetView("vergleichsAusgabe")
   Set db1 = session.GetDatabase( "", "c:\Dokumente und Einstellungen\Markus\Eigene Dateien\Notes\vergleich\VergleichDB1.nsf" )
   Set db2 = session.GetDatabase( "", "c:\Dokumente und Einstellungen\Markus\Eigene Dateien\Notes\vergleich\VergleichDB2.nsf" )
   Set searchview1=db1.GetView("Groups")
   Set searchview2 =db2.GetView("Groups")
   
   Set collection = thisdb.UnprocessedDocuments
   Set copydoc = collection.GetFirstDocument()
   
   
   While Not(copydoc Is Nothing)
      db1Groupname = copydoc.GetItemValue("Listname")
      StringConv = db1Groupname(0)
      Set nam = New NotesName( StringConv  )
      
      
      db1GroupNameE = msg & nam.Abbreviated & Chr(13)
      intStrLaenge = Len(db1GroupNameE)
      intStrLaengeF=intStrLaenge - 1
      StringConvE=Left$(db1GroupNameE, intStrLaengeF)
      Set item = copydoc.GetFirstItem( "Listname" )
      Set docdb1= searchview1.GetDocumentByKey(StringConvE)
      Set docdb2= Searchview2.GetDocumentByKey(StringConvE)
      If item.Contains( docdb1.listname ) Then
         Call docdb1.remove(False)
         Call docdb2.Remove(False)
         
         'Call copydoc.Save( False, True )
      End If
      Set copydoc = collection.GetNextDocument(copydoc)
      
   Wend
   
   
End Sub

animate:
Je nachdem, welches Ziel der Agent hat (alle Dokumente, neue Dokumente, etc.) ist das Ergebnis von UnprocessedDocuments verschieden.

Genaueres dazu sagt dir die Bescreibung der Eigenschaft in der Designer Hilfe

Nexus:
Das blick ich ja leider nicht :(

animate:
ich hab die Hilfe nicht hier.
poste doch mal den Teil, den du nicht verstehst und erkläre, was du nicht verstehst

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln