Содержание
ModalForm(ModuleName : String; Mode : Integer; Id : Variant; CallbackFunction : String) : Variant
Создать модальную форму.
Функция ModalForm создает модальную форму. Форма из которой вызывается функция ModalForm становится недоступной пользователю, пока существует созданная форма. А при закрытии созданной формы будет вызван метод вашей программы с именем указанным в CallbackFunction.
Аргумент CallbackFunction содержит имя метода вашей программы, который будет вызван после закрытия созданной формы. Этот метод должен быть типа Procedure X(Form : Variant; Ok : Boolean). Аргумент Form будет содержать ссылку на созданную форму. Аргумент Ok будет содержать True, если пользователь нажал Ок (или был вызван метод Apply).
В остальном функция аналогична функции CreateForm. Описание аргументов ModuleName, Mode, Id читайте там же.
Пример с Variant:
Procedure OnAddGood;
Var
F : Variant;
Begin
// Запуск модульной формы для создания нового товара
F := ModalForm('GoodForm', emAdd, Null, 'GoodAdded');
// Предустанока полей нового товара
F.Store := Store;
End;
Procedure GoodAdded(Form : Variant; Ok : Boolean);
Var
i : Integer;
Begin
If Not Ok Then Exit;
// Товар был добавлен, помещаем его код в нашу табличную часть
i := Table1.Append;
Table1[i].Good := Form.Id.Value As Integer;
Table1[i].Price := Form.DefaultPrice.Value As Currency;
Table1[i].Count := 1;
End;
Пример:
Procedure OnAddGood;
Var
F : GoodForm;
Begin
F := ModalForm('GoodForm', emAdd, Null, 'GoodAdded');
F.Title := 'Новый заголовок для формы';
End;
Procedure GoodAdded(Form : GoodForm; Ok : Boolean);
Begin
If Ok Then
Warning('Первичный ключ добавленной записи ' + Form.Item('Code').Value As String);
End;
справка