Autor Thema: LS Querysave-Agent  (Gelesen 1067 mal)

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
LS Querysave-Agent
« am: 26.06.03 - 10:12:10 »
Hallöchen!

Mein nachfolgendes Script ist in einer Maske im Querysave-Event.
Hier geht es um die Archivierung von QM-Handbüchern. Nun brauche ich dieses Script in einem Agent, dort braucht er nichts prüfen, sondern soll das ausgewählte Dokument einfach nur in die Archivdatenbank verschieben. Kann mir irgendwer helfen??

lg
Marietta


Sub Querysave(Source As Notesuidocument, Continue As Variant)
   Dim Doc,DocS As NotesDocument
   Dim DB As NotesDatabase
   Dim View As NotesView
   Dim s As New NotesSession
   Dim Search (1 To 1) As String
   Dim DBArchiv As NotesDatabase
   
   Set Db=s.CurrentDatabase
   Set View=DB.GetView("(Lookup)")
   Set Doc=Source.Document
   
      REM Wenn Datenbank nicht auf RFLE-Server -> EXIT
   If (db.server<>"RFKPSRV1/") Then
      Exit Sub
   Else
          REM Wenn Name der Datenbank nicht "roto\Handbuch\Handbuch.nsf" -> EXIT
      If (db.FilePath<>"roto\Handbuch\ManagementHB.nsf") Then
         Exit Sub
      End If
   End If
   
     REM wenn aktuelles Dokument nicht freigegeben -> exit
   If (Doc.Status(0)<>"freigegeben") Then
      Exit Sub
   End If
   
   Set DBARchiv=New NotesDatabase("","archiv\Archiv_ManagementHB.nsf")
   
   If (DbArchiv.IsOpen=False) Then
      Exit Sub
   End If
   Search(1)=Doc.Werknormnummer(0)
   Set DocS=View.GetDocumentByKey( Search )
    REM wenn Dokument nicht gefunden      -> exit
   If (DocS Is Nothing) Then
      Exit Sub
   End If
     REM wenn aktuelles Dokument gefunden wurde -> exit
   If (Doc.UniversalId = DocS.UniversalId) Then
      Exit Sub
   End If
     REM wenn gefundenes Dokument nicht freigegeben -> exit
   If (DocS.Status(0)<>"freigegeben") Then
      Exit Sub
   End If
   
   Doc.Index=Doc.Index(0)+1
   
   Call DocS.CopyToDatabase(DBArchiv)
   Call DocS.Remove(True)
   Call View.Refresh
   
   
End Sub

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:LS Querysave-Agent
« Antwort #1 am: 26.06.03 - 12:10:12 »
... um markierte Dokumete zu bekommen, benutzt du

Set NotesDocumentCollection = NotesDatabase.UnprocessedDocuments

... und dann eben verschieben - es gibt unter Tipps & Tricks einen relativ neuen Beitrag mit etwas Code - das wäre dann das Muster zur Verschiebung und dem Löschen aus der UrsprungsDB

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz