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

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

В проекте контракт сущности имеет следующие свойства:

ВидЭлемента​

Вид элемента проекта. Пример YAML-файла элемента проекта:

ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПодсистеме

Ид​

Идентификатор элемента проекта. «1С:Шина» создает этот идентификатор автоматически. Пример YAML-файла:

ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПроекте

Имя​

Имя элемента проекта. Пример YAML-файла:

ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПроекте

НастройкиТипов​

Содержит объектные типы контрактов сущности. Указанные типы становятся базовыми для объектного типа, созданного по текущему элементу. Соответствующие им ссылочные типы становятся базовыми для порожденного ссылочного типа.

ВидЭлемента: КонтрактСущности
Ид: c8317e79-0193-4222-95f7-65aedd45b2bd
Имя: МойКонтрактСущности
ОбластьВидимости: ВПодсистеме
НастройкиТипов:
КонтрактСущности.Объект:
Контракты:
- БазовыйКонтрактСущности.Объект

ТаблицыКонтракта​

Доступность таблиц контракта сущности. Может принимать значения:

  • Доступны — создаются таблицы: основная, реквизитов-коллекций, табличных частей;
  • Недоступны (значение по умолчанию) — таблицы не создаются, и контракт невозможно использовать в запросах.
примечание

При обновлении проекта до версии 8.0 во всех контрактах сущности для свойства ТаблицыКонтракта проставляется значение Доступны, если свойство не задано.

Свойство устанавливается независимо для каждого контракта в иерархии, т. е. в базовом контракте оно может быть выключено, а в наследнике включено, и наоборот.

ОбластьВидимости​

Видимость элемента проекта (подробнее):

  • ВПодсистеме — элемент виден внутри одной подсистемы во всех пакетах. Значение по умолчанию.
  • ВПроекте — элемент виден во всех подсистемах одного проекта.
  • Глобально — элемент виден в других проектах.

Пример YAML-файла:

ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПроекте

ПараметрыЗаписи​

Дает возможность параметризовать запись объекта. Содержит параметры записи, которые должны присутствовать во всех элементах, реализующих этот контракт. Является коллекцией элементов, заданных следующими свойствами:

  • Имя — имя параметра записи;
  • Тип — множество типов, доступных для параметра записи.

ПараметрыУдаления​

Дает возможность параметризовать удаление объекта. Содержит параметры удаления, которые должны присутствовать во всех элементах, реализующих этот контракт. Является коллекцией элементов, заданных следующими свойствами:

  • Имя — имя параметра удаления;
  • Тип — множество типов, доступных для параметра удаления.

Свойства​

Коллекция описания свойств. Для каждого свойства задаются параметры, перечисленные ниже.

ДлинаДробнойЧасти​

Ограничение максимальной длины дробной части числа.

ДлинаЦелойЧасти​

Ограничение максимальной длины целой части числа.

Ид​

Идентификатор свойства. «1С:Шина» создает этот идентификатор автоматически.

Имя​

Имя свойства.

В контракте нельзя создавать свойства со следующими именами:

  • Ссылка — у контракта уже есть такое стандартное свойство
  • Представление — в справочнике это не настоящее свойство

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

  • Код,
  • Владелец,
  • МеткаВерсии.

МаксимальнаяДлина​

Ограничение максимальной длины строки.

МаксимальноеЗначение​

Максимально допустимое значение числа.

МинимальноеЗначение​

Минимально допустимое значение числа.

ОграниченияЭлементов​

Заполняется, если типом Свойства является Массив. Задаются параметры, перечисленные ниже.

ДлинаДробнойЧасти​

Ограничение максимальной длины дробной части числа.

ДлинаЦелойЧасти​

Ограничение максимальной длины целой части числа.

МаксимальнаяДлина​

Ограничение максимальной длины строки.

МаксимальноеЗначение​

Максимально допустимое значение числа.

МинимальноеЗначение​

Минимально допустимое значение числа.

Тип​

Тип свойства. Допускаются типы, аналогичные реквизитам справочника.

ТолькоЧтение​

Булево. Стандартное значение Ложь.

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

Истина — если в контракте:

  • ссылочный тип, то в реализации может быть более конкретный тип. Например, в контракте — <ИмяКонтракта>.Ссылка, а в реализации — <ИмяСправочника>.Ссылка (при условии, что <ИмяСправочника>.Ссылка наследует <ИмяКонтракта>.Ссылка);
  • составной тип, то тип в реализации может быть подмножеством типа из контракта. Например, в контракте — тип Строка | Число, а в реализации — Число;
  • тип не ссылочный и не составной, то тип реквизита-реализации должен точно соответствовать типу в контракте;
  • имеются ограничения значений, то ограничения значений в реализации могут быть строже:
    • Число
      • ДлинаЦелойЧасти может быть меньше,
      • ДлинаДробнойЧасти может быть меньше,
      • МинимальноеЗначение может быть больше,
      • МаксимальноеЗначение может быть меньше,
    • Строка
      • МаксимальнаяДлина может быть меньше.