Перейти к основному содержимому

Элемент проекта вида «КонтрактСущности»

Контракт сущности — элемент проекта, который предназначен для описания общих методов и хранимых свойств, которыми обладают элементы, реализующие данный контракт. Контракт сущности обладает основной таблицей и таблицами множественных свойств, в которых хранятся свойства, описанные в контракте.

Важное отличие контракта сущности от контракта типа состоит в том, что контракт типа определяет только интерфейс, в то время как контракт сущности задает ограничения на данные. Для контракта сущности может создаваться отдельная таблица, которая хранит «общие» данные. Эта таблица доступна в языке запросов. Для контракта сущности также создается ссылочный тип, и его можно использовать в хранимых полях.

Контракт сущности можно реализовывать в следующих элементах проекта:

  1. План обмена (реквизиты плана обмена и методы в модуле объекта плана обмена, тип <ИмяПланаОбмена>.Объект).
  2. Справочник (реквизиты справочника и методы в модуле объекта справочника, тип <ИмяСправочника>.Объект).

Доступность в языке запросов

Доступность таблиц контракта сущности определяется его свойством ТаблицыКонтракта. По умолчанию свойство имеет значение Недоступны. Если свойство имеет значение Доступны, то пользователь может обращаться к основной таблице контракта, к таблицам реквизитов-коллекций и табличных частей.

Основная таблица является ссылочной — к полям таблицы можно обращаться по их именам через точку от выражений, имеющих тип <ИмяКонтракта>.Ссылка.

Имя основной таблицы совпадает с именем элемента. Таблица содержит обычные поля, описанные в контракте.

Таблицы множественных свойств содержат множественные свойства, описанные в контракте. Если у контракта нет реализаций, то при запросах всегда возвращается пустой результат.

При наследовании контрактов сущности табличная часть текущего контракта содержит:

  • свойства, объявленные в табличной части текущего контракта;
  • свойства, объявленные во всех одноименных табличных частях базовых контрактов.

Для нее будет создана своя таблица с собственными полями, а также полями из базовых контрактов.

Если базовый контракт сущности содержит свойство, которое является реквизитом-коллекцией, в текущем контракте для него создается собственная таблица.

Примеры

См. также