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

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

ВидЭлемента
Вид элемента проекта. Пример YAML-файла элемента проекта:
ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПодсистеме
Имя
Имя элемента проекта или компонента. Пример YAML-файла:
ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПроекте
Ид
Идентификатор элемента проекта или компонента. создает этот идентификатор автоматически. Пример YAML-файла:
ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПроекте
ОбластьВидимости
Видимость элемента проекта (подробнее)::
  • ВПодсистеме — элемент виден внутри одной подсистемы во всех пакетах. Значение по умолчанию.
  • ВПроекте — элемент виден во всех подсистемах одного проекта.
  • Глобально — элемент виден в других проектах.
Пример YAML-файла:
ВидЭлемента: КонтрактСущности
Имя: НаселенныйПунктБазовый
Ид: 4df6d6ef-730a-4c0c-b3d6-9398d41a921e
ОбластьВидимости: ВПроекте
Свойства
Коллекция описания свойств. Для каждого свойства задается:
Имя
Имя свойства.
В контракте нельзя создавать свойства со следующими именами:
  • Ссылка (так как у контракта уже есть такое стандартное свойство)
  • Представление (так как в справочнике это не настоящее свойство)

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

  • Код/Code
  • Владелец/Owner
  • МеткаВерсии/VersionStamp
Тип
Тип свойства. Допускаются типы аналогичные реквизитам справочника
Ид
Идентификатор свойства. создает этот идентификатор автоматически
ДлинаЦелойЧасти
Ограничение максимальной длины целой части Числа
ДлинаДробнойЧасти
Ограничение максимальной длины дробной части Числа
МаксимальноеЗначение
Максимально допустимое значение Числа
МинимальноеЗначение
Минимально допустимое значение Числа
МаксимальнаяДлина
Ограничение максимальной длины Строки
ОграниченияЭлементов
Заполняется, если типом Свойства является Массив. Задается:
ДлинаЦелойЧасти
Ограничение максимальной длины целой части Числа
ДлинаДробнойЧасти
Ограничение максимальной длины дробной части Числа
МаксимальноеЗначение
Максимально допустимое значение Числа
МинимальноеЗначение
Минимально допустимое значение Числа
МаксимальнаяДлина
Ограничение максимальной длины Строки
ТолькоЧтение
Булево. Стандартное значение Ложь.
Ложь — в реализациях фасет и тип реквизита, соответствующего данному свойству, должен точно соответствовать фасету данного свойства.
Истина — если в контракте:
  • ссылочный тип, то в реализации может быть более конкретный тип. Например, в контракте <ИмяКонтракта>.Ссылка, а в реализации <ИмяСправочника>.Ссылка (при условии, что <ИмяСправочника>.Ссылка наследует <ИмяКонтракта>.Ссылка)
  • составной тип, то тип в реализации может быть подмножеством типа из контракта. Например, в контракте тип Строка | Число, а в реализации Число
  • тип не ссылочный и не составной, то тип реквизита-реализации должен точно соответствовать типу в контракте.
  • фасет, то фасет в реализации может быть "ýже":
    • Число
      • ДлинаЦелойЧасти может быть меньше
      • ДлинаДробнойЧасти может быть меньше
      • МинимальноеЗначение может быть больше
      • МаксимальноеЗначение может быть меньше
    • Строка
      • МаксимальнаяДлина может быть меньше