Содержание
ModalReference(ModuleName, Filter : String; Id : Variant; CallbackFunction : String) : Variant
Создать модальный справочник для выбора записи
Функция ModalReference создает модальный справочник для выбора записи. Выбор записи осуществляется двойным щелчком по строке справочника, при этом будет вызван метод вашей программы с именем указанным в CallbackFunction. Если пользователь закроет справочник без выбора записи, то метод CallbackFunction вызван не будет. Форма из которой вызывается функция ModalReference становится недоступной пользователю, пока существует созданный справочник.
Аргумент ModuleName содержит имя модуля справочника.
Аргумент Filter содержит фильтр справочника. Он будет записан в свойство Filter справочника.
Аргумент Id содержит первичный ключ записи, которая будет выбрана в справочнике.
Аргумент CallbackFunction содержит имя метода вашей программы, который будет вызван после закрытия созданной формы. Этот метод должен быть типа Procedure X(Id, Reference). Аргумент Id будет содержать первичный ключ выбранной записи. Арнумент Reference будет содержать ссылку на созданный справочник.
Пример:Procedure OnCreate; Var Reference : Table1reference; Begin Reference := ModalReference('Table1reference', 'Id<>4', 2, 'RecordSelected'); Reference.Title := 'Новый заголвок для окна'; End; Procedure RecordSelected(Id : Integer; Reference : Table1reference); Begin Warning('Выбрана запись ' + ToStr(Id)); Warning('Поле Name выбраной записи ' + Reference.Table.Text(Reference.Table.CursorY, 'Name')); End;Пример с Variant:
Procedure OnCreate; Var Reference : Variant; Begin Reference := ModalReference('Table1reference', 'Id<>4', 2, 'RecordSelected'); Reference.Title := 'Новый заголвок для окна'; End; Procedure RecordSelected(Id, Reference : Variant); Begin Warning('Выбрана запись ' + Id As String); Warning('Поле Name выбраной записи ' + Reference.Table.Text(Reference.Table.CursorY, 'Name') As String); End;
Смотри метод IntegerLookupField.Open.