ВЫЗОВ ЭКРАННЫХ ФОРМ КЛАССОВ МЕТАСХЕМЫ

Ввод, просмотр и редактирование объекта класса метасхемы осуществляется с помощью экранных форм. Как правило, для осуществления всех операций  применяется единая форма, описанная в методе Form

Для вызова формы класса используется универсальная процедура formld.p.

formld.p (iClass, iSurrogate, iParamLst, iMode, iLevel).

  • iClass - класс объекта, тип CHARACTER;
  • iSurrogate - суррогат существующего объекта, тип CHARACTER;
  • iParamLst - контекст, тип CHARACTER;
  • iMode - режим вызова формы тип INT64;
  • iLevel - строка отображения фрейма, тип INT64.

По умолчанию formld.p осуществляет вызов метода Form указанного класса iClass. Иногда, в некоторых классах требуется разделение экранных форм для различных операций. Так например, для просмотра объекта может применяться одна форма (описанная например в методе Look), а для редактирования и ввода нового объекта класса - другая (описанная например в методе Modify).

В таком случае в параметре iClass необходимо указать метод класса содержащего требуемую экранную форму и через разделитель ~n класс объекта. Другими словами, передаваемое значение в параметре iClass будет иметь следующий формат:

<код метода класса> + "~n" + <код класса>

iSurrogate является ссылкой на конкретный объект класса с которым будет осуществляться работа в экранной форме. При вызове формы ее поля будут заполнены соответствующими значениями реквизитов указанного объекта.

Состав суррогата для интересующего класса можно посмотреть в файле surr.i. Указание суррогата производиться только для работы с существующими объектами класса, при вызове формы ввода нового объекта он должен быть пустым.

Режим вызова формы (ввод нового объекта, просмотр/редактирование/удаление существующего объекта) определяется глобальными переменными объявленными в form.def:

Переменная Значение Описание
&MOD_ADD 1 Ввод новой записи
&MOD_ADD_STORE 11 Ввод записи по предустановленному набору данных
&MOD_EDIT  2 Изменение существующей записи
&MOD_EDIT_STORE 12 Изменение существующей записи по предустановленному набору данных
&MOD_VIEW
3 Просмотр существующей записи
&MOD_DELETE 4 Удаление записи
&MOD_JOIN 
5 После джойна
&MOD_TEMPL 6 Ввод шаблона
&MOD_PREPARE 7 Получить информацию о структуре набора данных 
&MOD_VIEW_DATE 8 Просмотр формы со значениями темпорированных реквизитов на дату

Следует отметить, что процедура формы может поддерживать не все режимы вызова.

Добавление нового объекта:

{form.def}

RUN formld.p ("person",
              "",
              "",
              {&MOD_ADD},
              4).

Просмотр существующего объекта:

{form.def}

RUN formld.p ("person",
              "1001",
              "",
              {&MOD_VIEW},
              4).
Вы здесь: Главная ИБС Бисквит МЕТАСХЕМА АБС БИСКВИТ КЛАССЫ МЕТАСХЕМЫ ВЫЗОВ ЭКРАННЫХ ФОРМ КЛАССОВ МЕТАСХЕМЫ