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