从视图中在对话框中打开新表单

时间:2019-05-27 02:06:15

标签: lotus-notes lotus-domino lotusscript

我有一个名为PCBatchInfo的表格。在此表格中,只有4个字段,分别是BatchNo,Inspector,开始日期和结束日期。然后,我将打开此表单并插入信息。

另一方面,我有许多字段的计算机表单,用于在视图中显示所有文档。

PCBatchInfo和“计算机”表单具有相同的字段,即PBatchNo。因此,我要做的是在PCBatchInfo中插入BatchNo。然后,当我保存它时,它还将更改所有“计算机”文档的BatchNo。

我想在视图的对话框中打开新的PCBatchInfo表单。根据我的研究,对话框只能使用Queryopendocument打开现有文档。

比方说,我单击视图中的按钮,然后它将显示带有PCBatchInfo表单的对话框。我插入所有必需的信息,然后保存。我可以使用按钮从视图中使用对话框打开此表单吗?

更新

我找到了一种使用对话框的方法,但无法保存表单。代码如下。

varResult = ws.DialogBox("PCBatchInfo", True, True, False, False, True, False, "Please insert all information below", dialogDoc, False, False, True)
    If varResult Then
        batchValue = dialogDoc.BBatchNo(0)
        inspectorValue = dialogDoc.BInspector(0)
        dateValue1 = dialogDoc.BStart(0)
        dateValue2 = dialogDoc.Bend(0)
    End If

有人可以帮助我如何从对话框中保存表单吗?预先感谢!

2 个答案:

答案 0 :(得分:2)

要使用对话框,您需要一个文档。该文档仅需要在内存中。 在调用DialogBox之前和之后,您可以使用该文档执行所有操作。您还可以设置一个表单字段。该表格仅用于显示数据。该文档包含数据,可以更改或仅保存它。

如果要在视图中显示所选文档的对话框,请查看NotesUIView.caretNoteId,它返回当前所选文档的NoteID。

答案 1 :(得分:2)

使用伪代码:

Set dbdoc= New NotesDocument(db)
Rv= ws.DialogBox(....., dbdoc, ...)
If user clicked Ok then
    Dbdoc.Form= "YourFormName"
    Dbdoc.Save
Fi

因此,您在调用DialogBox之前创建了一个新的NotesDocument,可以根据需要在此处初始化字段,然后DialogBox打开,并且在关闭时必须检查返回值。如果用户单击“确定”,则必须自己设置文档,方法是显式设置“窗体”或其他一些设置,然后才能保存文档。