Автоматическая генерация формы
Есть несколько объектов. Определяю их с помощью метакода defineNamedObject. Каждый объект имеет как одинаковые свойства(например name) так и отличающиеся. Можно ли как-то присвоить свойства какой-то группе и потом всю группу вывести на форму(не автоматически сгенерированную, а определенную самостоятельно)? Можно с первичными свойствами работать как с коллекцией?
Ответы (1 шт):
Можно ли как-то присвоить свойства какой-то группе и потом всю группу вывести на форму
Нет, такой возможности нет. В частном случае, если нам нужно, например, добавлять более-менее фиксированный набор свойств для разных классов параметров, то можно создать метакод, в котором будет EXTEND FORM с PROPERTIES блоком, добавляющим эти свойства.
Можно с первичными свойствами работать как с коллекцией?
Да. В модуле Reflection объявлен класс Property, по объектам которого можно итерироваться (также там есть классы и для некоторых других абстракций). Там вы сможете посмотреть, какие есть свойства, в которые параметром передаются объекты класса Property. Также практически все эти свойства есть на форме Reflection.properties, которую можно открыть из навигатора: Администрирование > Метаданные > Свойства (если у вас вдруг в этой форме пусто, то убедитесь, что в конфигурации, с помощью которой запускаете проект, отключена опция Light start).
С помощью Reflection можно программно, например, настроить политику безопасности, скрыть какие-то свойства на форме или сделать какие-то выборки. Но добавить на форму свойства таким образом не получится, так как объекты Reflection-классов - это просто отображение существующих на старте сервера объектов (в данном случае свойств), а добавление на форму - это по сути создание нового объекта "свойство на форме".