我正在尝试使用公式在验证时从字段中打开文档。基本上我已经设置了一个检查重复条目的数据库,我希望数据库(如果创建了一个表单)检查它是否已经存在,是否确实询问用户是否要打开表单。我已经完成所有设置并获得了UNID但是当我来保存文档进行测试(一切正常)它会出现以下错误
@commands and other UI functions are not allowed in this context
不确定要尝试什么。任何帮助将是欣赏。我使用的命令如下
@Command([EditDocument];1;Unid) //where Unid is an ID I have acquired previously
答案 0 :(得分:0)
这是一项使用公式语言无法完成的任务。正如消息所示:@Commands不能在任何可以帮助您完成此任务的上下文中使用。
您需要在任何匹配事件(例如QuerySave)中使用LotusScript来执行此操作检查并打开其他文档。以下是一些示例代码:
%include "lsconst.lss"
Sub QuerySave( Source as NotesUIDocument, Continue as Variant )
Dim ses as New NotesSession
Dim db as NotesDatabase
Dim ws as New NotesUIWorkspace
Dim doc as NotesDocument
Dim ok as Variant
Dim strOtherUnid as String
Set db = ses.CurrentDatabase
strOtherUnid = Source.Document.OtherUnid(0)
If strOtherUnid <> "" then
Continue = False
ok = Messagebox ("There is already another document, do you want to edit it?" , MB_YESNO + MB_ICONQUESTION, "QUESTION" )
if ok = IDYES then
Set doc = db.GetDocumentByUNID( strOtherUnid )
Call ws.EditDocument( False, doc )
End if
End if
End Sub
此代码根本没有经过测试,只是用作起点。它需要一个名为&#34; OtherUnid&#34;包含另一个文档的universalid。