Типы Сущностей, их Свойства и Экземпляры

Материал из Fabius NET DEV
Перейти к: навигация, поиск
  • Тип Сущности - объект описания, имеющий набор Свойств и Экземпляров. При генерации

программного кода на основе Конфигурационного описания Типы Сущностей являются Классами. Примерами Типов Сущности являются Справочник, Реквизит, Сборка, Роль, и т.д.

  • Свойства Сущности* - набор характеристик, описывающих данную Сущность и отличающих разные Экземпляры Сущности друг от друга.

Количество Свойств у Сущности может быть любым (два из них присутствует обязательно - Имя Сущности и Описание). Свойства Сущности могут быть следующих видов (ТипСвойства):

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

СвойстваТиповСущностей.PNG

Свойства Сущности (кроме Имени, Описания и Типа Свойства) имеют следующие характеристики:

  • Группа - служит для группировки свойств при высветке (для удобства просмотра).
  • Ссылка На Тип - для свойств ссылочного типа (СсылкаНаЭкземпляр, КоллекцияСсылок, КоллекцияОбщихСсылок и т.д.) указывает Тип Сущности, на который указывает эта ссылка. Например, свойство Базовый Класс - это Ссылка на Тип сущности - Справочник.
  • Имя Связанного Свойства - задает Свойство, от значения которого зависят варианты данного Свойства (имеет смысл только для свойств типа СсылкаНаСвойство).
  • Тип Редактора - определяет поведение данного свойства.
  • Значение по Умолчанию - значение данного Свойства, присваиваемое Экземпляру Сущности при добавлении.
  • Шаблон -
  • Формат хранения -
  • Обязательный - признак, позволяющий исключить пустое значение данного Свойства у нового Экземпляра Сущности. Например, свойство Таблица (Имя Таблицы) не может быть не задано.
  • Скрытый - позволяет не отображать свойства, если они формируются автоматически, и не зависят от выбора пользователя.
  • Только для чтения - признак Свойства, значение которого формируется автоматически.
  • Экземпляры Сущности - коллекция Сущностей данного типа, обладающая Свойствами, присущими данному Типу Сущности. Например, Контрагенты, ФизЛица, Номенклатура и т.д. являются Экземплярами Сущности Справочники.

Типы Сущностей можно условно разделить на 2 вида:

  • Метасущности - сущности, с помощью которых описываются (определяются их свойства) Сущности более высокого уровня (Прикладные). Метасущности описывают базовые свойства Прикладных Сущностей. Метасущности имеют единственное свойство - Имя. Экземпляры Метасущностей представляют собой коллекцию допустимых значений Прикладных Сущностей.
  • Прикладные - сущности составляющие Конфигурацию Прикладного решения. Прикладные сущности можно разделить на
  • Основные Типы Сущностей (Базовые) - Основными являются самостоятельные (не являющиеся свойствами других) сущности.
  • Вспомогательные Типы Сущностей - к ним можно отнести сущности являющиеся коллекционными свойствами других Сущностей.

Смотрите также

КомандыПанелиИнструментов

Конфигуратор