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