【发布时间】:2026-01-04 10:25:03
【问题描述】:
我是一个lotusscripting的初学者,自己做了一些基本的代码。最近我做了一个计划代理,它在视图中复制文档并将其移动到另一个数据库(存档数据库)。但是还有另一个需要做的改进,就是使归档数据库的位置动态化。您可以在我的代码中看到服务器/路径和文件名是硬编码的:
%REM
Agent Archive Kiosk Walk-In Test
Created Dec 11, 2015 by Daryl
Description: Comments for Agent
%END REM
Option Public
Option Declare
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dbArchive As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim tmpDoc As NotesDocument
Dim docArchive As NotesDocument
Dim archiveDate As NotesDateTime
Dim createDate As NotesDateTime
Dim count As Integer
Dim serverName As String
Dim archiveName As String
Set db = s.Currentdatabase
Set archiveDate = New NotesDateTime("Today")
Call archiveDate.Adjustday(-30)
Set view = db.Getview("KWICompletedView")
view.Autoupdate = False
'Static declaration of database for archive
serverName = "SBYGAD61/SBYISDEV"
archiveName = "reso\var\test\resovara.nsf"
Set dbArchive = New NotesDatabase( serverName, archiveName )
If dbArchive Is Nothing Then
Print "Warning: unable to access archive database."
Else
count = 0
Set doc = view.Getfirstdocument
While Not(doc Is nothing)
Set tmpDoc = view.Getnextdocument(doc)
Set createDate = New NotesDateTime("")
createDate.Localtime = doc.Created
If archiveDate.Timedifference(createDate) > 0 Then
Set docArchive = New NotesDocument(dbArchive)
Call doc.Copyallitems(docArchive, True)
Call docArchive.Save(True, True)
'Call doc.Remove(True)
count = count + 1
End If
Set doc = tmpDoc
Wend
Print "Complete: "+Cstr( count )+" document(s) archived."
End If
End Sub
在我当前的数据库中有一个包含存档数据库位置的视图,是的,有 3 个存档数据库所以我真的迷路了,对不起。我需要有关如何实际获取/设置这些文档作为我的存档位置的帮助。谢谢!
【问题讨论】:
-
只是一个建议:阅读标准 Notes 归档功能。
标签: lotus-notes lotus-domino lotusscript