Типы Сущностей, их Свойства и Экземпляры
Материал из Fabius NET DEV
- Тип Сущности - объект описания, имеющий набор Свойств и Экземпляров. При генерации
программного кода на основе Конфигурационного описания Типы Сущностей являются Классами. Примерами Типов Сущности являются Справочник, Реквизит, Сборка, Роль, и т.д.
- Свойства Сущности* - набор характеристик, описывающих данную Сущность и отличающих разные Экземпляры Сущности друг от друга.
Количество Свойств у Сущности может быть любым (два из них присутствует обязательно - Имя Сущности и Описание). Свойства Сущности могут быть следующих видов (ТипСвойства):
- Значение - данный вид свойства означает простое литеральное Значение. Примером может служить ИмяТаблицы у Сущности Справочник
- СсылкаНаЭкземпляр (другой Сущности) - данный вид свойства означает, что свойство указывает на Экземпляр какой-либо Сущности. Например, Свойство БазовыйКласс является Ссылкой на Экземпляр Сущности Справочник, а Свойство Сборка - на Экземпляр Сущности Сборка.
- КоллекцияЗначений - этот вид свойства означает Список (любое количество) Значений. Примером такого свойства является КоллекцияЗначений Сущности Перечисление.
- КоллекцияСсылок - такое свойство означает Список (любое количество) Ссылок на Экземпляры какой-либо Сущности. Например, у Свойства Реквизиты (это Свойство Сущности Справочник) Тип (ТипСвойства) КоллекцияСсылок на Сущность РеквизитСправочника. У каждого Экземпляра Сущности Справочник будут СВОИ экземпляры Сущности РеквизитСправочника.
- КоллекцияОбщихСсылок - данный вид свойства аналогичен КоллекцииСсылок. Разница в том, что одни и те же Экземпляры, на которые производится ссылка, могут использоваться несколькими разными сущностями. Например, ПечатныеФормы, Интерфейсы, ПоляПоиска - они могут входит в коллекции ссылок разных Экземпляров Сущностей.
- СсылкаНаТип - ? Не используется !
- ДвоичноеЗначение - означает хранилище информации в двоичном коде. Например, макеты Печатных форм, Ресурсы и т.д.
- Программа - свойство, предназначенное для хранения исходных текстов C#. Редактирование данного свойства производится средствами разработки Программ (Visual Studio, Sharp Developer).
- СсылкаНаСвойство - определяет свойство, зависящее от другого (оно задается в Имя Связанного Свойства). Например, когда необходимо определить 2 взаимозависимых свойства: Ссылка на Экземпляр Сущности задается двумя свойствами - Тип и Имя Сущности (свойства _СсылкаТипСущности_ и _СсылкаИмяСущности_). Выбор Имени должен зависеть от выбранного Типа. Для этого у свойства _СсылкаИмяСущности_ надо задать Тип - СсылкаНаСвойство и в ИмяСвязанногоСвойства задать свойство _СсылкаТипСущности_.
- Поддержка контекстных выражений следующего вида:
- [Фильтр дочерних] Источник -> Фильтр, где [Фильтр дочерних] - список свойств по которым будет производится отбор в дочерних ветках; Источник - объект из которого будут извлекаться свойства(в случае отсутствия, извлекаемые свойства берутся по иерархической связи); Фильтр - список свойств которые будут извлечены из Источника;
- Свойство1=Свойство2[;СвойствоN=СвойствоK] - указана привязка на предыдущий узел дерева, где Свойство1 - ссылка на свойство элемента дерева; Свойство2 - ссылка на результирующее значение; Корректно работает только из иерархии дерева!!!
- =Свойство - символ '=' перед название свойства означает, что извлечение значения будет проходить относительно узла дерева.
- Поддержка контекстных выражений следующего вида:
- КоллекцияВычисляемыхСсылок - ? Не используется !
Свойства Сущности (кроме Имени, Описания и Типа Свойства) имеют следующие характеристики:
- Группа - служит для группировки свойств при высветке (для удобства просмотра).
- Ссылка На Тип - для свойств ссылочного типа (СсылкаНаЭкземпляр, КоллекцияСсылок, КоллекцияОбщихСсылок и т.д.) указывает Тип Сущности, на который указывает эта ссылка. Например, свойство Базовый Класс - это Ссылка на Тип сущности - Справочник.
- Имя Связанного Свойства - задает Свойство, от значения которого зависят варианты данного Свойства (имеет смысл только для свойств типа СсылкаНаСвойство).
- Тип Редактора - определяет поведение данного свойства.
- Значение по Умолчанию - значение данного Свойства, присваиваемое Экземпляру Сущности при добавлении.
- Шаблон -
- Формат хранения -
- Обязательный - признак, позволяющий исключить пустое значение данного Свойства у нового Экземпляра Сущности. Например, свойство Таблица (Имя Таблицы) не может быть не задано.
- Скрытый - позволяет не отображать свойства, если они формируются автоматически, и не зависят от выбора пользователя.
- Только для чтения - признак Свойства, значение которого формируется автоматически.
- Экземпляры Сущности - коллекция Сущностей данного типа, обладающая Свойствами, присущими данному Типу Сущности. Например, Контрагенты, ФизЛица, Номенклатура и т.д. являются Экземплярами Сущности Справочники.
Типы Сущностей можно условно разделить на 2 вида:
- Метасущности - сущности, с помощью которых описываются (определяются их свойства) Сущности более высокого уровня (Прикладные). Метасущности описывают базовые свойства Прикладных Сущностей. Метасущности имеют единственное свойство - Имя. Экземпляры Метасущностей представляют собой коллекцию допустимых значений Прикладных Сущностей.
- Прикладные - сущности составляющие Конфигурацию Прикладного решения. Прикладные сущности можно разделить на
- Основные Типы Сущностей (Базовые) - Основными являются самостоятельные (не являющиеся свойствами других) сущности.
- Вспомогательные Типы Сущностей - к ним можно отнести сущности являющиеся коллекционными свойствами других Сущностей.