ShowModal;
Метод ShowModal открывает веб-форму модально относительно того объекта, из которого выполняется код.
Использование данного метода доступно только в веб-приложении. Веб-форма, для которой вызывается метод, должна быть открыта с помощью метода IMetabaseObjectDescriptor.Open или IMetabaseObjectDescriptor.OpenWithParam.
Для выполнения примера в репозитории предполагается наличие двух веб-форм с идентификаторами SOURCEF и DESTINATIONF. На первой форме расположена кнопка. На второй форме расположены два компонента Input, создан обработчик для события OnCommand.
Добавьте ссылки на системные сборки: Metabase, WebForm.
Код первой формы:
Class SOURCEFWebForm: WebForm
Button1: WebButton;
Sub Button1OnClick;
Var
Mb: IMetabase;
wForm: IWebForm;
Result: Variant;
Begin
Mb := MetabaseClass.Active;
wForm := Mb.ItemById("DESTINATIONF").Open(null) As IWebForm;
Result := wForm.SendCommand("command1", 100);
wForm.ShowModal;
Self.Text := Result;
End Sub Button1OnClick;
End Class SOURCEFWebForm;
Код второй формы:
Class DESTINATIONFWebForm: WebForm
Input1: WebInput;
Input2: WebInput;
Sub DESTINATIONFWebFormOnCommand(Args: IWebCommandEventArgs);
Begin
Input1.Text := Args.Command;
Input2.Text := Args.Argument;
If Args.Command = "command1" Then
Args.Result := "1";
Elseif args.Command = "command2" Then
Args.Result := "2";
Else
Args.Result := "0";
End If;
End Sub DESTINATIONFWebFormOnCommand;
End Class DESTINATIONFWebForm;
При запуске первой веб-формы и нажатии на кнопку будет инициализирована вторая веб-форма. Для веб-формы будет отправлена команда, после этого веб-форма будет открыта модально относительно первой веб-формы. При закрытии второй веб-формы будет возвращён результат обработки команды, который будет отображён в заголовке первой веб-формы.
См. также: