这是Notes客户端应用程序中的问题,而不是Web应用程序。
在对话框中打开的子窗体的经典案例,用于输入主窗体上所需的部分数据。问题是,在该子表单上,有一些链接可以打开视图(是的,它们是必需的),而且在对话框中似乎无法打开视图。
所以我将我的子表单转换为表单,现在我要做的就是打开"子表单"来自uidoc并从"子表单"中恢复所有值进入主要文件。
主文档未保存。如何处理"打开"来自"子表单的文档"所以我可以传递价值观?或任何其他方式(场交换,或你有什么)?欢迎提出意见......
答案 0 :(得分:1)
我们做的一件事(不幸的是我不能因此而受到赞扬,但......)在“召唤形式”中
Sub Click(Source As Button)
Dim ws As New notesUiWorkspace
Dim parent As notesUiDocument
Dim newui As NotesUIDocument
Set parent = ws.currentDocument
Set newui=ws.composeDocument("" , "" , "NewLogEntry")
Call parent.Close(True)
Call newui.Refresh
End Sub
这会打开新的“对话框”并关闭原始表单,这样用户就不会感到困惑。
然后在“对话框”中,有一个名为“WorksheetID”的字段(它是调用表单),其公式为
temp:=@InheritedDocumentUniqueID;
@Text(temp)
然后“关闭”或“进程”或任何按钮具有(a)获取原始文档(使用继承的UNID)的方法,以及(b)要添加的“对话框”的所有信息该文件。
答案 1 :(得分:1)
从技术上讲,这很容易
您可以在表单中定义一个全局变量(或者更好的是在表单全局选项中使用的脚本库)。
将uidocOpener调暗为NotesUIDocument
然后在"初始化" - 新表格的事件中设置:
Dim ws as New NotesUIWorkspace
Set uidocOpener = ws.CurrentDocument
在那种情况下,新文档尚未打开,因此CurrentDocument返回" last"打开文件(这是你的开场白)。
保存/关闭时,您可以更新"开启者"中的字段。文件就像
一样简单Call uidocOpener.Document.Replaceitemvalue( "YourItem", Source.Document.Getitemvalue( "YourItem" ) )
但请注意:你需要监视开启者是否仍然打开,并确保用户不会在另一个窗口打开时编辑它,因为它不会像对话框那样阻止gui。