Инструкция EXTEND FORM
Инструкция EXTEND FORM - расширение существующей формы.
Синтаксис
EXTEND FORM formName
[formBlock1
...
formBlockN]
;
Описание
Инструкция EXTEND FORM позволяет расширять существующую форму дополнительными блоками формы, записываемыми так же, как при объявлении формы. Внутри этих блоков можно ссылаться на объекты, свойства и действия, уже объявленные на форме, — например, чтобы разместить новый элемент относительно уже имеющегося или отфильтровать добавляемую группу объектов по объекту, уже имеющемуся на форме.
Помимо блоков, добавляющих на форму новые элементы, в инструкции можно использовать блоки расширения, которые изменяют уже добавленные на форму элементы: блок расширения объектов, блок расширения дерева объектов, блок расширения свойств и действий и блок расширения группы фильтров.
Параметры
-
formNameИмя расширяемой формы. Составной идентификатор. Должно указывать на уже существующую форму, объявленную в этом или другом модуле; новая форма не создаётся. Заголовок и значок здесь не задаются — форма сохраняет те, что заданы при её объявлении.
-
formBlock1 ... formBlockNБлоки формы.
Примеры
CLASS ItemGroup;
name = DATA ISTRING[100] (ItemGroup);
itemGroup = DATA ItemGroup (Item);
EXTEND FORM items
PROPERTIES(i) NEWSESSION DELETE // добавляем на форму кнопку удаления
OBJECTS g = ItemGroup BEFORE i // добавляем на форму объект группы товаров перед товаром
PROPERTIES(g) READONLY name
// если бы объект был добавлен после объекта с товарами, то фильтрация шла бы по группе товаров,
// а не по товарам
FILTERS itemGroup(i) == g
;