莲花笔记公式。尝试 运行 字段验证中的@command

Lotus notes Formula. trying to run an @command inside of a fields validation

在验证方面,我正在尝试使用公式从字段中打开文档。基本上我已经建立了一个数据库来检查重复的条目并且我希望数据库(如果创建了一个表单)检查它是否已经存在以及它是否询问用户是否要打开表单。我已经完成所有设置并获得了 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

这是一项无法用公式语言完成的任务。如消息所述:@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

这段代码根本没有经过测试,只是作为一个起点。它需要一个名为 "OtherUnid" 的字段,其中包含其他文档的 universalid。