在莲花笔记6.5.6我有一份文件,里面有一个"克隆文件"用于创建uidoc副本并在工作区中打开它的按钮。 我的问题是,当工作区中打开克隆的文档已经保存,我不想要这个。我已经检查了" Queryopen"," Postopen" ...状态但是没有doc.save调用。那么,如何在我的工作区中打开一个新的克隆文档而不保存它? 这是我的错误代码。
Dim session As New notessession
Dim uiw As New notesuiworkspace
Dim uidoc As notesuidocument
Dim db As NotesDatabase
Dim newdoc As NotesDocument
Dim NewUIDoc As NotesUIDocument
Dim doc As notesdocument
Set uidoc=uiw.currentdocument
Set db=session.currentdatabase
Set doc=uidoc.document
Set newdoc = db.CreateDocument
Call doc.CopyAllItems( newdoc)
Set NewUIDoc = uiw.EditDocument( True ,newdoc)
答案 0 :(得分:3)
您 - 错误地 - 假设文档已“保存”,很可能是因为“@IsNewDoc”和NotesUiDocument.isNewDoc在使用uiw.EditDocument打开它之前在LotusScript中创建的任何文档上都返回FALSE。 / p>
这是Lotus Notes设计中众所周知的缺陷。您需要自己的功能,以检查文档是否是新的。
在公式I中,通常使用名为“IsNewDoc”的计算显示字段,其中包含公式:
@Modified = @Created
对于LotusScript,我有一个自己的函数,如下所示:
Function MyIsNewDoc( doc As NotesDocument ) As Boolean
MyIsNewDoc = (doc.Lastmodified = 0)
End Function