Да, это возможно. Есть параметр document
для NotesUIWorkspace.DialogBox()
. Используйте этот документ для передачи параметров в ваш диалог.
ОБНОВЛЕНИЕ
Предположим, что у вас есть форма с именем "MyDialogForm" для представления вашего диалога.
Он выглядит так и содержит 3 поля:
![MyDialogForm](https://i.stack.imgur.com/gMDBQ.png)
И у вас есть форма с двумя полями и кнопкой "Проверить":
а>
Поместите следующий код в обработчик события «Click» вашей кнопки «Проверить»:
Sub Click(Source As Button)
Const DIALOG_FORM_NAME = "MyDialogForm"
Dim ws As New NotesUIWorkspace
Dim dialogBoxAccepted As Boolean
Dim dialogParamDoc As NotesDocument
Dim currentDocument As NotesDocument
Dim field2Value As String
Set currentDocument = ws.CurrentDocument.Document
field2Value = currentDocument.GetItemValue("Field2")(0)
'document created in-memory, but should not be saved
Set dialogParamDoc = New NotesDocument(currentDocument.ParentDatabase)
'populating dialog box fields
Call dialogParamDoc.ReplaceItemValue("DialogField1", "dialogField1 with: " + field2Value)
Call dialogParamDoc.ReplaceItemValue("DialogField2", "dialogField2 with: " + field2Value)
Call dialogParamDoc.ReplaceItemValue("DialogField3", "dialogField3 with: " + field2Value)
dialogBoxAccepted = ws.DialogBox(DIALOG_FORM_NAME,True , True, False, False , False , False, "My Dialog Title", dialogParamDoc, True)
If dialogBoxAccepted Then
'displaying values, entered/changed in dialog box
Msgbox dialogParamDoc.getItemValue("DialogField1")(0),,"DialogField1"
Msgbox dialogParamDoc.getItemValue("DialogField2")(0),,"DialogField2"
Msgbox dialogParamDoc.getItemValue("DialogField3")(0),,"DialogField3"
End If
End Sub
Этот код считывает «Field2» и заполняет поля диалога на основе его значения. Затем он показывает диалоговое окно, в котором вы можете изменить эти значения.
![демонстрационный диалог](https://i.stack.imgur.com/esQAl.png)
Если вы нажали OK в своем диалоговом окне (диалоговое окно принято), код покажет значения, которые вы изменили в диалоговом окне.
person
Community
schedule
18.04.2016